(* Release 3.10 *) (*-------------------------------------------------------------------------* * * * STDLIB.DEF - Modula-2 interface to STDLIB.H * * * * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. * * All Rights Reserved * * * *--------------------------------------------------------------------------*) (*# project("#set tsc='on'") *) (*# call(o_a_size=>off, o_a_copy=>off, c_conv=>on, result_optional=>on) *) (*# module(implementation=>off, init_code=>off) *) (*# name(prefix=>c) *) DEFINITION MODULE stdlib; TYPE ldiv_t = RECORD quot, rem: LONGINT; END; div_t = RECORD quot, rem: INTEGER; END; CompProc = PROCEDURE(ADDRESS, ADDRESS): INTEGER; PROCEDURE abort; PROCEDURE abs(_num: INTEGER): INTEGER; PROCEDURE atexit(_func: PROC): INTEGER; PROCEDURE atof(_nptr: ARRAY OF CHAR): LONGREAL; PROCEDURE atoi(_nptr: ARRAY OF CHAR): INTEGER; PROCEDURE atol(_nptr: ARRAY OF CHAR): LONGINT; PROCEDURE atoul(_nptr: ARRAY OF CHAR): LONGCARD; PROCEDURE bsearch(_key,_base: ADDRESS; _num,_width: CARDINAL; _compare: CompProc): ADDRESS; PROCEDURE calloc(_num,_size: CARDINAL): ADDRESS; PROCEDURE delay(_tm: CARDINAL); PROCEDURE div(_numer,_denom: INTEGER): div_t; PROCEDURE exit(_code: INTEGER); PROCEDURE free(_block: ADDRESS); PROCEDURE getenv(_name: ARRAY OF CHAR): ADDRESS; PROCEDURE labs(_j: LONGINT): LONGINT; PROCEDURE ldiv(_numer,_denom: LONGINT): ldiv_t; PROCEDURE malloc(_size: CARDINAL): ADDRESS; PROCEDURE qsort(_base: ADDRESS; _num,_width: CARDINAL; _compare: CompProc); PROCEDURE rand(): INTEGER; PROCEDURE randomize; PROCEDURE realloc(_block: ADDRESS; _size: CARDINAL): ADDRESS; PROCEDURE srand(_seed: CARDINAL); PROCEDURE system(_string: ARRAY OF CHAR): INTEGER; CONST MS_CUR_MAX = 1; PROCEDURE mblen(_s: ARRAY OF CHAR; _n: CARDINAL): INTEGER; PROCEDURE mbtowc(VAR _pwc: ARRAY OF CHAR; _s: ARRAY OF CHAR; _n: CARDINAL): INTEGER; PROCEDURE wctomb(_s: ARRAY OF CHAR; _wchar: CHAR): INTEGER; PROCEDURE mbstowcs(VAR _pwcs: ARRAY OF CHAR; _s: ARRAY OF CHAR; _n: CARDINAL): CARDINAL; PROCEDURE wcstombs(VAR _s: ARRAY OF CHAR; _pwcs: ARRAY OF CHAR; _n: CARDINAL): CARDINAL; VAR _fmode: CARDINAL; sys_nerr: INTEGER; CONST EXIT_SUCCESS = 0; EXIT_FAILURE = 0FFH; RAND_MAX = 32767; PROCEDURE ecvt(_value: LONGREAL; _digits: INTEGER; VAR _dec,_sign: INTEGER): ADDRESS; PROCEDURE _exit(_status: INTEGER); PROCEDURE fcvt(_value: LONGREAL; _digits: INTEGER; VAR _dec,_sign: INTEGER): ADDRESS; PROCEDURE gcvt(_value: LONGREAL; _ndec: INTEGER; VAR _buf: ARRAY OF CHAR): ADDRESS; PROCEDURE itoa(_value: INTEGER; VAR _string: ARRAY OF CHAR; _radix: INTEGER): ADDRESS; PROCEDURE lfind(_key,_base: ADDRESS; _num,_width: CARDINAL; _compare: CompProc): ADDRESS; PROCEDURE _lrotl(_val: LONGCARD; _count: INTEGER): LONGCARD; PROCEDURE _lrotr(_val: LONGCARD; _count: INTEGER): LONGCARD; PROCEDURE lsearch(_key,_base: ADDRESS; _num,_width: CARDINAL; _compare: CompProc): ADDRESS; PROCEDURE ltoa(_value: LONGINT; VAR _s: ARRAY OF CHAR; _radix: INTEGER): ADDRESS; PROCEDURE putenv(_name: ARRAY OF CHAR): INTEGER; PROCEDURE _searchenv(_name, _env: ARRAY OF CHAR; VAR _path: ARRAY OF CHAR); PROCEDURE _rotl(_value: LONGCARD; _count: INTEGER): CARDINAL; PROCEDURE _rotr(_value: LONGCARD; _count: INTEGER): CARDINAL; PROCEDURE swab(_from: ARRAY OF CHAR; VAR _to: ARRAY OF CHAR; _num: INTEGER); PROCEDURE ultoa(_value: LONGCARD; VAR _s: ARRAY OF CHAR; _radix: INTEGER): ADDRESS; CONST _MAX_PATH = 128; (* max length of full pathname *) _MAX_DRIVE = 3; (* max length of drive component *) _MAX_DIR = 130; (* max length of path component *) _MAX_FNAME = 9; (* max length of file name component *) _MAX_EXT = 5; (* max length of extension component *) PROCEDURE _makepath(VAR _path: ARRAY OF CHAR; _drive,_dir,_name,_ext: ARRAY OF CHAR); PROCEDURE _slitpath(_path: ARRAY OF CHAR; VAR _drive,_dir,_name,_ext: ARRAY OF CHAR); END stdlib.