123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- # 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
- @C #define _LARGEFILE_SOURCE 1
- @C #define _FILE_OFFSET_BITS 64
- ## @C #define _USE_FILE_OFFSET64
- ## @C #ifdef __i386__
- ## @C #define _LARGEFILE64_SOURCE
- ## @C #endif
- @C #include <sys/types.h>
- @C #include <sys/stat.h>
- @C #include <sys/statfs.h>
- @C #include <sys/mount.h>
- @C #include <sys/time.h>
- @C #include <sys/times.h>
- @C #include <sys/resource.h>
- @C #include <sys/uio.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 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 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 rlim_t
- @record stat,struct stat
- .st_dev
- .st_ino
- .st_mode
- #.st_padding0
- .st_nlink
- .st_uid
- .st_gid
- #.st_padding1
- .st_rdev
- .st_size
- .st_blocks
- .st_blksize
- .st_atime,st_atim.tv_sec
- .st_atime_nsec,st_atim.tv_nsec
- .st_mtime,st_mtim.tv_sec
- .st_mtime_nsec,st_mtim.tv_nsec
- .st_ctime,st_ctim.tv_sec
- .st_ctime_nsec,st_ctim.tv_nsec
- @Pascal {$if defined (CPUPOWERPC) or defined(CPUPOWERPC64)}
- @C #ifdef __powerpc__
- .__unused4
- .__unused5
- @Pascal {$ifdef CPU64}
- @C #ifdef __LP64__
- .__unused6
- @C #endif
- @Pascal {$endif CPU64}
- @C #endif
- @Pascal {$endif powerpc}
- #.st_flags
- #.st_gen
- @record dirent,struct dirent
- .d_fileno
- .d_off
- .d_reclen
- .d_type
- #.d_pad0
- #.d_namlen
- #.d_pad1
- .d_name
- @record TStatFs,struct statfs
- .fstype,f_type
- .bsize,f_bsize
- .blocks,f_blocks
- .bfree,f_bfree
- .bavail,f_bavail
- .files,f_files
- .ffree,f_ffree
- .fsid,f_fsid
- .namelen,f_namelen
- .frsize,f_frsize
- .flags,f_flags
- .spare,f_spare
- @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.
|