# 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 @C #include @C #include @C #include @C #include @C #include @C #include @C #include @C #include @C #include @C #include @C #include @C #include @C #include @C #include @C #include @C #include @C #include @C #include @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 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 @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.