mirror of
https://github.com/GnoConsortium/gno.git
synced 2024-11-18 19:09:31 +00:00
77 lines
2.6 KiB
Plaintext
77 lines
2.6 KiB
Plaintext
|
$Id: deviations,v 1.1 1997/02/28 05:42:26 gdr Exp $
|
||
|
|
||
|
These are deviations from POSIX 1003.1:
|
||
|
======================================
|
||
|
|
||
|
Feature: full implementation
|
||
|
Header: (various)
|
||
|
Not all functions and system calls specified by POSIX 1003.1 are
|
||
|
implemented.
|
||
|
|
||
|
Feature: non-compliant limits/constants
|
||
|
Header: (various)
|
||
|
|
||
|
Value POSIX GNO Header File
|
||
|
-------------------------------------------------------------------
|
||
|
STDIN_FILENO 0 1 unistd.h
|
||
|
STDOUT_FILENO 1 2 unistd.h
|
||
|
STDERR_FILENO 2 3 unistd.h
|
||
|
_POSIX_LINK_MAX 8 1 limits.h
|
||
|
|
||
|
Feature: alarm(2)
|
||
|
Header: unistd.h
|
||
|
POSIX specifies that both the single argument and return type
|
||
|
should be unsigned int. GNO uses unsigned long for both.
|
||
|
|
||
|
Feature: fork(2)
|
||
|
Header: unistd.h
|
||
|
POSIX specifies an empty argument list, and both child and parent
|
||
|
process resume execution at the point where fork() returns but in
|
||
|
different address spaces. The GNO implementation takes a pointer
|
||
|
to a function at which the child process begins execution, and child
|
||
|
and parent share the address space.
|
||
|
|
||
|
Feature: getpgrp(2)
|
||
|
Header: unistd.h
|
||
|
POSIX specifies a pid_t return type. GNO implementation returns
|
||
|
an int.
|
||
|
|
||
|
These are deviations from the BSD implementations:
|
||
|
=================================================
|
||
|
|
||
|
Feature: POSIX compliance
|
||
|
Header: sys/unistd.h
|
||
|
BSD is POSIX2 compliant, GNO is not. (_POSIX2_VERSION is undefined)
|
||
|
|
||
|
Feature: vfork(2)
|
||
|
Header: unistd.h
|
||
|
See the notes on fork(2) in the section on POSIX deviations.
|
||
|
|
||
|
Feature: machine types
|
||
|
Header: <sys/types.h>, <sys/ansi.h>
|
||
|
BSD uses "long long" and "unsigned long long" for quad_t and u_quad_t,
|
||
|
respectively. GNO uses structures.
|
||
|
|
||
|
Type BSD GNO Header File
|
||
|
-------------------------------------------------------------------------------
|
||
|
quad_t long long (structure) sys/types.h
|
||
|
u_quad_t unsigned long long (structure) sys/types.h
|
||
|
pid_t long short sys/types.h
|
||
|
off_t quad_t long sys/types.h
|
||
|
dev_t unsigned long unsigned short sys/types.h
|
||
|
uid_t unsigned long unsigned short sys/types.h
|
||
|
gid_t unsigned long unsigned short sys/types.h
|
||
|
_BSD_PTRDIFF_T_ int long machine/ansi.h
|
||
|
_BSD_SIZE_T_ unsigned int unsigned long machine/ansi.h
|
||
|
_BSD_SSIZE_T_ int long machine/ansi.h
|
||
|
_BSD_OFF_T_ long long long machine/ansi.h
|
||
|
_BSD_PID_T_ long short machine/ansi.h
|
||
|
_BSD_WCHAR_T_ int long machine/ansi.h
|
||
|
_BSD_RUNE_T_ int long machine/ansi.h
|
||
|
|
||
|
Value BSD GNO Header File
|
||
|
-------------------------------------------------------------------------------
|
||
|
_BSD_CLK_TCK_ 128 60 machine/ansi.h
|
||
|
_BSD_CLOCKS_PER_SEC_ 128 60 machine/ansi.h
|
||
|
LINK_MAX 32767 1 sys/syslimits.h
|