|
|
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;
};