Lines Matching refs:library

31 visible library interfaces.  It describes various kinds of actions that
34 you must do as a shared library developer if you:
36 1. Make interface additions to an existing library
39 2. Update an interface in an existing library
43 - move an interface from one library to another
45 existing library
46 3. Introduce a new library
50 4. Make an entire library obsolete before end-of-life
75 There should be a "mapfile-vers" file associated with every shared library
76 and it should reside in the common source directory for that library, most
77 often in a "common" directory. This is the usual layout of a library's
83 for the library:
135 the library containing the set of symbols exposed by the library to
139 library must always describe the same interface such that applications may
146 ILLUMOS_0.3 of a given library must contain all the interfaces in
150 exposed symbols within a library, and may change at any time (and without
162 The SUNW_*.* names were the Public version names of the library in Solaris.
184 clients of the library. If there is no private version, these two lines should
205 Conditional input can be used if there are ISA-specific library interfaces
206 not common to all instances of the library. It is the preferred method for
235 4.0 Making interface additions to an existing library
249 version of the library.
252 is added to a library. Once a version comes to exist in illumos, it is from
256 library (which become part of the ABI), an assertion that specifies the size
261 Private interfaces are the non-ABI interfaces of the library. Unlike
266 the library, the private version must be created (with no major.minor
270 If the library already has Private interfaces in a SUNWprivate version, you
276 errors) when running an application with older versions of the library.
284 command. When making a modification to the interface of such a library, you
369 5.0 How to update an interface in an existing library
378 To move an interface from one library to (say) libc, the code has to be
379 deleted from the library and added to libc, then the mapfile for the
380 library has to have the interface's entry changed from:
391 When merging an entire library into libc, the mapfile is changed to specify
397 But rather than specifying the library on which we filter for each symbol,
408 Do not forget to delete these Public or Private interfaces from the library's
435 outside the library. To move an interface from Private to local scope, simply
438 interface into a library-private header file. Scope reduction of Public
441 For the interface to be used in more than one file within the library, it
442 should be in a header file that can be included by each file in the library
448 library
453 interfaces to another library. Instead, use ILLUMOS_0.1 for a new library,
454 and ILLUMOS_m.n for an existing library (where m.n is the next version; i.e.,
460 6.0 Introducing a new library
464 The normal discipline for introducing a new library in illumos is to create a
466 create a common/mapfile-vers file for the new library. If we were introducing
467 a new foo library, libfoo, we'd create usr/src/lib/libfoo containing:
509 7.0 Make an entire library obsolete
514 library as obsolete. The existing public/private version names are left
516 This becomes a tag by which the obsolescence of the library can be recognized.