DEFINITION MODULE wrapc ; FROM SYSTEM IMPORT ADDRESS ; (* strtime - returns the C string for the equivalent C asctime function. *) PROCEDURE strtime () : ADDRESS ; (* filesize - assigns the size of a file, f, into low, high and returns zero if successful. *) PROCEDURE filesize (f: INTEGER; VAR low, high: CARDINAL) : INTEGER ; (* fileinode - return the inode associated with file, f. *) PROCEDURE fileinode (f: INTEGER; VAR low, high: CARDINAL) : INTEGER ; (* filemtime - returns the mtime of a file, f. *) PROCEDURE filemtime (f: INTEGER) : INTEGER ; (* getrand - returns a random number between 0..n-1 *) PROCEDURE getrand (n: INTEGER) : INTEGER ; (* getusername - returns a C string describing the current user. *) PROCEDURE getusername () : ADDRESS ; (* getnameuidgid - fills in the, uid, and, gid, which represents user, name. *) PROCEDURE getnameuidgid (name: ADDRESS; VAR uid, gid: INTEGER) ; (* in C these procedure functions are really macros, so we provide real C functions and let gm2 call these if the builtins are unavailable. *) PROCEDURE signbit (r: REAL) : INTEGER ; PROCEDURE signbitf (s: SHORTREAL) : INTEGER ; PROCEDURE signbitl (l: LONGREAL) : INTEGER ; (* isfinite - provide non builtin alternative to the gcc builtin isfinite. Returns 1 if x is finite and 0 if it is not. *) PROCEDURE isfinite (x: REAL) : INTEGER ; (* isfinitef - provide non builtin alternative to the gcc builtin isfinite. Returns 1 if x is finite and 0 if it is not. *) PROCEDURE isfinitef (x: SHORTREAL) : INTEGER ; (* isfinitel - provide non builtin alternative to the gcc builtin isfinite. Returns 1 if x is finite and 0 if it is not. *) PROCEDURE isfinitel (x: LONGREAL) : INTEGER ; (* isnan - provide non builtin alternative to the gcc builtin isnan. Returns 1 if x is a NaN otherwise return 0. *) PROCEDURE isnan (x: REAL) : INTEGER ; (* isnanf - provide non builtin alternative to the gcc builtin isnanf. Returns 1 if x is a NaN otherwise return 0. *) PROCEDURE isnanf (x: SHORTREAL) : INTEGER ; (* isnanl - provide non builtin alternative to the gcc builtin isnanl. Returns 1 if x is a NaN otherwise return 0. *) PROCEDURE isnanl (x: LONGREAL) : INTEGER ; (* SeekSet - return the system libc SEEK_SET value. *) PROCEDURE SeekSet () : INTEGER ; (* SeekEnd - return the system libc SEEK_END value. *) PROCEDURE SeekEnd () : INTEGER ; (* ReadOnly - return the system value of O_RDONLY. *) PROCEDURE ReadOnly () : BITSET ; (* WriteOnly - return the system value of O_WRONLY. *) PROCEDURE WriteOnly () : BITSET ; END wrapc.