DOMAIN(3) Domain/OS SysV DOMAIN(3)
NAME
domain - Domain/OS-specific C library subroutines
DESCRIPTION
While providing a SVID-compliant version of UNIX System V, Release 3,
Domain/OS SysV actually represents only a subset of the greater
functionality of Domain/OS. Furthermore, Domain/OS SysV omits some
features of System V Release 3 that are irrelevant to Apollo
workstations. The following paragraphs describe aspects of that greater
functionality that are visible to the Domain/OS SysV applications
programmer and summarize features of System V Release 3 not implemented
under Domain/OS SysV.
Domain/OS Calls. All of the interfaces giving applications access to the
greater functionality of Domain/OS can be called from Domain/OS SysV.
The declarations for these calls have been prototyped according to ANSI
standard C and placed in /usr/include/apollo. See the Domain/OS Call
Reference for more information on these interfaces.
Organization File. In addition to the /etc/passwd and /etc/group files
for storing information about user and group accounts, Domain/OS SysV
provides a file for storing information about organization accounts,
/etc/org. See org(4) and "Creating and Maintaining the Registry" in
Managing SysV System Software for more information about the organization
file.
Domain/OS SysV also provides six subroutines that constitute a C-language
interface to the organization file:
_______________________________________________
|_____________Unique_Subroutines_______________|
| Name | Function | Reference |
||||
|getorgent | | |
|getorgid | | |
|getorgnam | get organization | getorgent(3C) |
|setorgent | file entry | |
|endorgent | | |
|setorgfile_|__________________|_______________|
Registry Server. Under Domain/OS SysV, /etc/passwd is a read-only object
of the type "passwd," and /etc/group is a read-only object of the type
"group," both maintained by the registry server (see rgyd(1M) and
"Creating and Maintaining the Registry" in Managing SysV System
Software). The conventional C-language interfaces to these files
(described in and getpwent(3C)) interact with the registry server
transparently.
For those desiring more control, however, Domain/OS SysV provides two
additional subroutines: setpwfile and setgrfile. These allow you to
specify the password file and group file, respectively. In this case,
the subroutines interact with the named file in ways determined by its
type manager.
COFF Interfaces. Apollo compilers and the Domain/OS SysV link editor
(ld(1)) produce output in common object file format (COFF). The
interfaces to COFF objects conventionally provided by UNIX System V
Release 3 are also available in Domain/OS SysV. Domain/OS SysV, however,
provides three additional interfaces:
____________________________________________________
|________________Unique_Subroutines_________________|
| Name | Function | Reference |
||||
|ldgetarname | retrieve the | ldgetarname(3X) |
| | filename of a | |
| | member of an | |
|____________|_archive_file_______|_________________|
|ldgetstring | retrieve string | ldgetstring(3X) |
| | from common object | |
| | file string table | |
|____________|____________________|_________________|
|ldsgetname | retrieve section | ldsgetname(3X) |
| | name for common | |
|____________|_object_file_entry__|_________________|
Support for Standard C. The Domain/OS SysV C library complies fully with
the semantics and syntax of ANSI standard C. The new functions that come
with this support include atexit, described in exit(2), and the
following:
_______________________________________________________
|_________________Unique_Subroutines___________________|
| Name | Function | Reference |
||||
|labs | return integer absolute | abs(3C) |
|___________|_value_____________________|______________|
|strftime | convert date and time to | ctime(3C) |
| | string | |
|___________|___________________________|______________|
|difftime | compute the difference | difftime(3C) |
| | between two calendar | |
|___________|_times_____________________|______________|
|div | | |
|ldiv | integer division | div(3C) |
|___________|___________________________|______________|
|ceil | floor, ceiling, | |
|fabs | remainder, absolute value | floor(3M) |
|___________|_functions_________________|______________|
|fgetpos | reposition a file pointer | |
|fsetpos | in a stream | fseek(3S) |
|___________|___________________________|______________|
|lconv | set or get locale or | |
|locale | numerical formatting | locale(3C) |
|localeconv | information | |
|setlocale__|___________________________|______________|
|memmove | memory operations | memory(3C) |
|___________|___________________________|______________|
|mktime | convert broken-down time | mktime(3C) |
|___________|_to_calendar_time__________|______________|
|strerror | system error messages | perror(3C) |
|___________|___________________________|______________|
|raise______|_send_a_signal_____________|_raise(3C)____|
|remove | remove a file | remove(3C) |
|___________|___________________________|______________|
|strstr | | |
|strtok | string operations | string(3C) |
|strxfrm____|___________________________|______________|
|strtoul | convert string to integer | strtoul(3C) |
|___________|___________________________|______________|
|mblen | convert multibyte | |
|mbstowcs | characters and strings to | |
|mbtowc | wide characters and | wctomb(3C) |
|wcstombs | strings and back | |
|wctomb_____|___________________________|______________|
Domain/OS SysV omits the following C-language subroutines, implemented in
UNIX System V, Release 3:
_______________________________________________________________
|___________________Unsupported_Subroutines____________________|
| Name | Function | Reference (UNIX System V, |
| | | Release 3 manuals) |
||||
|crypt | password and file | crypt(3X) |
| | encryption | |
|____________|_functions___________|___________________________|
|fpgetround | | |
|fpsetround | | |
|fpgetmask | IEEE floating point | |
|fpsetmask | environment control | fpgetround(3C) |
|fpgetsticky | | |
|fpsetsticky | | |
|____________|_____________________|___________________________|
|isnand | test for floating | |
|isnanf | point NaN (Not-A- | isnan(3C) |
|____________|_Number)_____________|___________________________|
|libwindows | windowing terminal | libwindows(3X) |
| | function library | |
|____________|_____________________|___________________________|
Domain/OS SysV provides no /lib/libm.a. It places its math subroutines
in /lib/libc. There also are no /lib/libc.a or shared libraries.
Domain/OS SysV Manual pages describing specific features may point out
other differences. These descriptions usually appear in the "Notes"
section.
SEE ALSO
domain(2), abs(3C), ctime(3C), difftime(3C), div(3C), floor(3M),
fseek(3S), getgrent(3C), getorgent(3C), getpwent(3C), ldgetarname(3X),
ldgetstring(3X), ldsgetname(3X), locale(3C), memory(3C), mktime(3C),
perror(3C), raise(3C), remove(3C), string(3C), strtoul(3C), wctomb(3C),
a.out(4), domain(4), domain(5).
Domain/OS Call Reference.
Managing SysV System Software.