DEFINITION MODULE wrapc ; FROM SYSTEM IMPORT ADDRESS ; EXPORT QUALIFIED strtime, filesize, fileinode, getrand, getusername, filemtime, getnameuidgid, signbit, signbitf, signbitl, isfinite, isfinitel, isfinitef ; (* 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 ; END wrapc.