|
|
The C general purpose library (/usr/ccs/lib/libgen.a) is documented on the Section 3G manual pages.
Binary compatibility for the libgen interfaces and data structures is guaranteed for:
There are a number of differences between the SCO OpenServer and UnixWare implementations of libgen that impact source compatibility. These are noted in the table below.
Name of Interface | Legacy compatibility | UDK compatibility | |||||
---|---|---|---|---|---|---|---|
Compiled using SCO OpenServer DevSys | Compiled using SCO UnixWare 2.1.X SDK | Compiled using UnixWare 7 UDK | |||||
Library Name | Works on UnixWare 7? | Library Name | Works on UnixWare 7? | Library Name | Works on SCO OpenServer? | Works on SCO UnixWare 2.1.X? | |
advance | libgen | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
basename | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
bgets | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
bufsplit | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
closelog | libsocket | Yes | libgen | Yes |
libgen
libc | Yes | Yes |
compile | libgen | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
copylist | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
crypt | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
dirname | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
eaccess | libc | Yes | libgen | Yes | libgen | Yes; notes. | Yes; notes. |
encrypt | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
endspent | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
endutent | libc | Yes |
libgen
libc89.a | Yes | libc | Yes | Yes |
endutxent | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
fgetspent | libgen | Yes | libgen | Yes | libgen | Yes; notes. | Yes |
Name of Interface | Legacy compatibility | UDK compatibility | |||||
---|---|---|---|---|---|---|---|
Compiled using SCO OpenServer DevSys | Compiled using SCO UnixWare 2.1.X SDK | Compiled using UnixWare 7 UDK | |||||
Library Name | Works on UnixWare 7? | Library Name | Works on UnixWare 7? | Library Name | Works on SCO OpenServer? | Works on SCO UnixWare 2.1.X? | |
getmntany | -- | -- | libgen | Yes | libgen | Yes; notes. | Yes |
getmntent | -- | -- | libgen | Yes | libgen | Yes; notes. | Yes |
getspent | libgen | Yes | libgen | Yes | libgen | Yes; notes. | Yes |
getspnam | libgen | Yes | libgen | Yes | libgen | Yes; notes. | Yes |
getutent | libc | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
getutid | libc | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
getutline | libc | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
getutmp | libc | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
Name of Interface | Legacy compatibility | UDK compatibility | |||||
---|---|---|---|---|---|---|---|
Compiled using SCO OpenServer DevSys | Compiled using SCO UnixWare 2.1.X SDK | Compiled using UnixWare 7 UDK | |||||
Library Name | Works on UnixWare 7? | Library Name | Works on UnixWare 7? | Library Name | Works on SCO OpenServer? | Works on SCO UnixWare 2.1.X? | |
getutmpx | libc | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
getutxent | libgen | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
getutxid | libgen | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
getutxline | libgen | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
getvfsany | -- | -- | libgen | Yes | libgen | -- | Yes |
getvfsent | -- | -- | libgen | Yes | libgen | -- | Yes |
getvfsfile | -- | -- | libgen | Yes | libgen | -- | Yes |
getvfsspec | -- | -- | libgen | Yes | libgen | -- | Yes |
gmatch | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
Name of Interface | Legacy compatibility | UDK compatibility | |||||
---|---|---|---|---|---|---|---|
Compiled using SCO OpenServer DevSys | Compiled using SCO UnixWare 2.1.X SDK | Compiled using UnixWare 7 UDK | |||||
Library Name | Works on UnixWare 7? | Library Name | Works on UnixWare 7? | Library Name | Works on SCO OpenServer? | Works on SCO UnixWare 2.1.X? | |
isencrypt | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
lckpwdf | libgen | Yes | libgen | Yes | libgen | Yes; notes. | Yes |
mkdirp | libsocket | Yes | libgen | Yes | libgen | Yes | Yes |
openlog | libsocket | Yes | libgen | Yes |
libgen
libc | Yes; notes. | Yes |
p2lcose | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
p2open | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
pathfind | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
pututline | libc | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
pututxline | libc | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
regcmp | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
regex | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
rmdirp | libsocket | Yes | libgen | Yes | libgen | Yes | Yes |
Name of Interface | Legacy compatibility | UDK compatibility | |||||
---|---|---|---|---|---|---|---|
Compiled using SCO OpenServer DevSys | Compiled using SCO UnixWare 2.1.X SDK | Compiled using UnixWare 7 UDK | |||||
Library Name | Works on UnixWare 7? | Library Name | Works on UnixWare 7? | Library Name | Works on SCO OpenServer? | Works on SCO UnixWare 2.1.X? | |
setkey | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
setlogmask | libsocket | Yes | libgen | Yes |
libgen
libc | Yes | Yes |
setspent | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
setutent | libc | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
setutxent | libgen | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
step | libgen | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
strcadd | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
strccpy | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
streadd | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
strecpy | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
strfind | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
strrspn | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
strtrns | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
syslog | libsocket | Yes | libgen | Yes |
libgen
libc | Yes | Yes |
ulckpwdf | libgen | Yes | libgen | Yes | libgen | Yes; notes. | Yes |
updwtmp | libc | Yes | libgen | Yes | libgen | Yes | Yes |
updwtmpx | libgen | Yes | libgen | Yes | libgen | Yes | Yes |
utmpname | libc | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
utmpxname | libgen | Yes |
libgen
libc89.a | Yes |
libgen
libc | Yes | Yes |
vsyslog | libsocket | Yes | libgen | Yes |
libgen
libc | Yes | Yes |
``Compatibility Table Legend''
SCO OpenServer has a different mnttab structure than the one supported on UnixWare.
/* UnixWare mnttab structure */ struct mnttab { char *mnt_special; char *mnt_mountp; char *mnt_fstype; char *mnt_mntopts; char *mnt_time; };/* SCO OpenServer mnttab structure */ struct mnttab { char mt_dev[32], mt_filsys[32]; short mt_ro_flg; time_t mt_time; };
On SCO OpenServer, the lock file used by the ulckpwdf and lckpwdf routines is /etc/.pwd.lock; on UnixWare, it is /etc/security/ia/.pwd.lock.
The UnixWare implementation adds four elements to the spwd structure.
/* UnixWare spwd structure */ struct spwd{ char sp_namp; char sp_pwdp; long sp_lstchg; long sp_min; long sp_max; long sp_warn; long sp_inact; long sp_expire; unsigned long sp_flag; };/* SCO OpenServer spwd structure */ struct spwd { char *sp_namp; char *sp_pwdp; long sp_lstchg; long sp_min; long sp_max; };