123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- # OpenBSD RTL-to-C structure compatibility checker description file
- #
- # Use
- # h2paschk t_openbsd.h2paschk
- #
- # ...to generate Pascal and C code, then make sure they both compile and that
- # the Pascal program produces the same output as the C program for each
- # supported architecture.
- @Pascal uses baseunix;
- @Pascal {$i ptypes.inc}
- @Pascal {$i ostypes.inc}
- @Pascal begin
- # Adds support for M_PIl constant inside math.h header
- @C #include <sys/mman.h>
- @C #include <sys/types.h>
- @C #include <sys/stat.h>
- @C #include <sys/time.h>
- @C #include <sys/times.h>
- @C #include <sys/resource.h>
- @C #include <sys/uio.h>
- @C #include <sys/wait.h>
- @C #include <dirent.h>
- @C #include <poll.h>
- @C #include <utime.h>
- @C #include <fcntl.h>
- @C #include <unistd.h>
- @C #include <stdio.h>
- @C #include <stddef.h>
- @C #include <fcntl.h>
- @C #include <pthread.h>
- @C #include <netdb.h>
- @C #include <semaphore.h>
- @C #include <wchar.h>
- @C #include <math.h>
- @C int main()
- @C {
- @type dev_t
- @type gid_t
- @type ino_t
- @type mode_t
- @type nlink_t
- @type off_t
- @type pid_t
- @type size_t
- @type ssize_t
- @type uid_t
- @type wint_t
- @type clock_t
- @type time_t
- @type socklen_t
- @record timeval,struct timeval
- .tv_sec
- .tv_usec
- @record timespec,struct timespec
- .tv_sec
- .tv_nsec
- @type pthread_t
- @type pthread_attr_t
- @type pthread_mutex_t
- @type pthread_mutexattr_t
- @type pthread_cond_t
- @type pthread_condattr_t
- @type pthread_key_t
- @type pthread_rwlock_t
- @type pthread_rwlockattr_t
- @type sem_t
- @type rlim_t
- @record pthread_once_t,struct pthread_once
- .state
- .mutex
- @constant F_OK
- @constant R_OK
- @constant W_OK
- @constant X_OK
- @constant SEEK_SET
- @constant SEEK_CUR
- @constant SEEK_END
- @constant O_RDONLY
- @constant O_WRONLY
- @constant O_RDWR
- @constant O_CREAT
- @constant O_EXCL
- @constant O_TRUNC
- @constant O_NOCTTY
- @constant O_APPEND
- @constant O_NONBLOCK
- @constant S_IRUSR
- @constant S_IWUSR
- @constant S_IXUSR
- @constant S_IRGRP
- @constant S_IWGRP
- @constant S_IXGRP
- @constant S_IROTH
- @constant S_IWOTH
- @constant S_IXOTH
- @constant S_IRWXU
- @constant S_IRWXG
- @constant S_IRWXO
- @constant WNOHANG
- @constant WUNTRACED
- @constant F_DUPFD
- @constant F_GETFD
- @constant F_SETFD
- @constant F_GETFL
- @constant F_SETFL
- @constant F_GETOWN
- @constant F_SETOWN
- @constant F_GETLK
- @constant F_SETLK
- @constant F_SETLKW
- @constant F_DUPFD_CLOEXEC
- @constant FD_CLOEXEC
- @constant F_RDLCK
- @constant F_UNLCK
- @constant F_WRLCK
- @constant RLIMIT_CPU
- @constant RLIMIT_FSIZE
- @constant RLIMIT_DATA
- @constant RLIMIT_STACK
- @constant RLIMIT_CORE
- @constant RLIMIT_RSS
- @constant RLIMIT_MEMLOCK
- @constant RLIMIT_NPROC
- @constant RLIMIT_NOFILE
- # @constant RLIMIT_AS alias of RLIMIT_RSS, but not in C headers
- @constant MAP_PRIVATE
- @constant MAP_ANONYMOUS
- @constant POLLIN
- @constant POLLPRI
- @constant POLLOUT
- @constant POLLERR
- @constant POLLHUP
- @constant POLLNVAL
- @constant POLLRDNORM
- @constant POLLRDBAND
- @constant POLLWRNORM
- @constant POLLWRBAND
- @floatconstant PI,M_PI
- @record stat,struct stat
- .st_mode
- .st_dev
- .st_ino
- .st_nlink
- .st_uid
- .st_gid
- .st_rdev
- .st_atime
- .st_atimensec
- .st_mtime
- .st_mtimensec
- .st_ctime
- .st_ctimensec
- .st_size
- .st_blocks
- .st_blksize
- .st_flags
- .st_gen
- .st_birthtime,__st_birthtime
- .st_birthtimensec,__st_birthtimensec
- @record dirent,struct dirent
- .d_fileno
- .d_off
- .d_reclen
- .d_type
- .d_namlen
- .d_padding,__d_padding
- .d_name
- @record pollfd,struct pollfd
- .fd
- .events
- .revents
- @record utimbuf,struct utimbuf
- .actime
- .modtime
- @record flock,struct flock
- .l_start
- .l_len
- .l_pid
- .l_type
- .l_whence
- @record tms,struct tms
- .tms_utime
- .tms_stime
- .tms_cutime
- .tms_cstime
- @record timezone,struct timezone
- .tz_minuteswest
- .tz_dsttime
- @record rusage,struct rusage
- .ru_utime
- .ru_stime
- .ru_maxrss
- .ru_ixrss
- .ru_idrss
- .ru_isrss
- .ru_minflt
- .ru_majflt
- .ru_nswap
- .ru_inblock
- .ru_oublock
- .ru_msgsnd
- .ru_msgrcv
- .ru_nsignals
- .ru_nvcsw
- .ru_nivcsw
- @record TRLimit,struct rlimit
- .rlim_cur
- .rlim_max
- @record iovec,struct iovec
- .iov_base
- .iov_len
- @C return 0;
- @C }
- @Pascal end.
|