13.07.2015 Views

Full Generic System V ABI

Full Generic System V ABI

Full Generic System V ABI

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

_nameThis gives a system service name that follows the ANSI C conventionof reserving symbols beginning with an underscore, such as _ r e a d.Although many system services have two names, two exceptions exist to thissynonym convention. <strong>System</strong> V defines both e x i t and _ e x i t as different facilities.Consequently, the symbols e x i t and _ e x i t have no synonyms and refer todifferent services.Implementation of libsys RoutinesAll <strong>ABI</strong>-conforming systems must provide a l i b s y s entry point for all routineslisted as belonging to this library. However, only the routines necessary to providethe source-level programming interfaces required to be defined in the X/OpenCAE Specification, Issue 4.2 and defined in the <strong>System</strong> V Interface Definition, ThirdEdition sections BA_OS, BA_LIB, and KE_OS, as described in the introduction tothe <strong>System</strong> V <strong>ABI</strong>, must be implemented on a conforming system (see the ConformanceRule in chapter 1). For example, this means that the routinem e m c n t l(RT_OS) need not be fully implemented on an <strong>ABI</strong>-conforming system,though the entry point for this function must be present in the library.Routines not required for the <strong>System</strong> V Interface Definition, Third Edition sectionslisted above or X/Open CAE Specification, Issue 4.2 may or may not be implemented,at the discretion of the system implementor. Unimplemented routinesmust be represented in the library by a stub that when called causes failure andsets the global variable e r r n o to the value E N O S Y S.XXEEVendor ExtensionsBesides the services listed above, libsys may contain other symbols. An <strong>ABI</strong>conformingsystem vendor may add a symbol to the system library to providevendor-specific services. The <strong>ABI</strong> does not define these services, and programsusing these services are not <strong>ABI</strong>-conforming. Nonetheless, the <strong>ABI</strong> defines arecommended extension mechanism, providing a way to avoid conflict among theservices from multiple vendors.A symbol of the form _ $ v e n d o r .company provides an operating system entry forthe vendor named company. The system library does not have unadorned alternativesfor these names. Conventionally, a vendor uses the single name to providemultiple services, letting the first argument to _ $ v e n d o r .company select amongthe alternatives. As an example, the ‘‘XYZ Computer Company’’ might add_ $ v e n d o r . x y z to the system library.E<strong>System</strong> Library 6-9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!