Lines Matching refs:interface

32 typically occur as libraries are evolved, and shows how interface
36 1. Make interface additions to an existing library
37 - add a Public interface
38 - add a Private interface
39 2. Update an interface in an existing library
40 - remove an existing interface
41 - promote a Private interface to Public
42 - scope a Private interface to local
43 - move an interface from one library to another
88 for only two purposes: to specify externally-visible interface names while
102 SYMBOL_VERSION ILLUMOS_0.2 { # Second interface change in illumos
107 SYMBOL_VERSION ILLUMOS_0.1 { # First interface change in illumos
139 library must always describe the same interface such that applications may
157 introducing one version per interface change. In illumos, unlike Solaris,
167 So, for example, to add a new interface to libwombat in illumos one would add:
235 4.0 Making interface additions to an existing library
237 4.1 Adding a Public interface
241 this is the first Public interface in the shared object, a new ILLUMOS_0.1
245 made to an interface. This could be the case if an API changes so
259 4.2 Adding a Private interface
262 introducing a Public interface, a new entry is simply added to the
265 If this interface happens to be the first Private interface introduced into
273 version name to version the new interface. There is no need to introduce a
283 link-editor, the public interface to which is provided by the ld
284 command. When making a modification to the interface of such a library, you
293 interface versions were handled as they interacted with update releases of
360 Thus when adding a new Public interface to an update release, both the mapfiles
369 5.0 How to update an interface in an existing library
371 5.1 Removing an existing interface
373 5.1.1 Moving a Public interface
376 break all existing consumers of that interface.
378 To move an interface from one library to (say) libc, the code has to be
380 library has to have the interface's entry changed from:
387 Follow the rules for adding a new interface for the necessary changes
388 to libc's mapfile to accommodate the moved interface, including creating a
401 5.1.2 Removing a Private interface
404 it should first be established that the interface is not being used.
405 To remove a Private interface, simply delete the corresponding entry
411 5.2 Promoting a Private interface to Public
413 This is similar to what's done when adding a Public interface. Promoting an
414 existing Private interface to a Public one only requires a change to the
415 existing interface definition. Private interfaces have the symbol version
417 interface a Public one, the interface must be added as if it were a new
424 interface to Public, or to introduce a new Public interface, this (next
428 5.3 Scoping a Private interface local
435 outside the library. To move an interface from Private to local scope, simply
436 remove the Private interface from the mapfile-vers file and the header file
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
443 that uses the interface. For example:
465 new subdirectory of usr/src/lib. The interface definition discipline is to