(* Release 3.10 *) (*-------------------------------------------------------------------------* * * * CSTRING.DEF - Modula-2 interface to STRING.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 cstring; PROCEDURE memcmp(_s1,_s2: ADDRESS; _num: CARDINAL): INTEGER; PROCEDURE memcpy(_dest,_source: ADDRESS; _num: CARDINAL): ADDRESS; PROCEDURE memset(_s: ADDRESS; _c: WORD; _num: CARDINAL): ADDRESS; PROCEDURE strcat(VAR _dest: ARRAY OF CHAR; _source: ARRAY OF CHAR): ADDRESS; PROCEDURE strcmp(_s1, _s2: ARRAY OF CHAR): INTEGER; PROCEDURE strcpy(VAR _dest: ARRAY OF CHAR; _source: ARRAY OF CHAR): ADDRESS; PROCEDURE strlen(_s: ARRAY OF CHAR): CARDINAL; PROCEDURE memccpy(_dest,_source: ADDRESS; _c: WORD; _num: CARDINAL): ADDRESS; PROCEDURE memchr(_s: ADDRESS; _c: WORD; _num: CARDINAL): ADDRESS; PROCEDURE memicmp(_s1,s2: ADDRESS; _num: CARDINAL): INTEGER; PROCEDURE memmove(_dest,_source: ADDRESS; _num: CARDINAL): ADDRESS; PROCEDURE movedata(_sseg,_soff,_dseg,_dofs,_num: CARDINAL); PROCEDURE movmem(_src,_dest: ADDRESS; _length: CARDINAL); PROCEDURE setmem(_dest: ADDRESS; _length: CARDINAL; _value: CHAR); PROCEDURE memwmove(_dest,_source: ADDRESS; _num: CARDINAL): ADDRESS; PROCEDURE memwset(_s: ADDRESS; _c: WORD; _num: CARDINAL): ADDRESS; PROCEDURE memwcpy(_dest,_source: ADDRESS; _num: CARDINAL): ADDRESS; PROCEDURE stpcpy(VAR _dest: ARRAY OF CHAR; _source: ARRAY OF CHAR): ADDRESS; PROCEDURE strchr(_s: ARRAY OF CHAR; _c: WORD): ADDRESS; PROCEDURE strcoll(_s1,_s2: ARRAY OF CHAR): INTEGER; PROCEDURE strxfrm(_s1,_s2: ARRAY OF CHAR; _n: CARDINAL): CARDINAL; PROCEDURE strcspn(_s1,_s2: ARRAY OF CHAR): CARDINAL; PROCEDURE strdup(_s: ARRAY OF CHAR): ADDRESS; PROCEDURE strerror(_errnum: INTEGER): ADDRESS; PROCEDURE stricmp(_s1,_s2: ARRAY OF CHAR): ADDRESS; PROCEDURE strlwr(VAR _s: ARRAY OF CHAR): ADDRESS; PROCEDURE strncat(VAR _dest: ARRAY OF CHAR; _source: ARRAY OF CHAR; _n: CARDINAL): ADDRESS; PROCEDURE strncmp(_s1,_s2: ARRAY OF CHAR; _n: CARDINAL): INTEGER; PROCEDURE strncpy(VAR _dest: ARRAY OF CHAR; _source: ARRAY OF CHAR; _n: CARDINAL): ADDRESS; PROCEDURE strnicmp(_s1,_s2: ARRAY OF CHAR; _n: CARDINAL): INTEGER; PROCEDURE strnset(VAR _s: ARRAY OF CHAR; ch: WORD; _n: CARDINAL): ADDRESS; PROCEDURE strpbrk(_s1,_s2: ARRAY OF CHAR): ADDRESS; PROCEDURE strrchr(_s: ARRAY OF CHAR; c: WORD): ADDRESS; PROCEDURE strrev(VAR s: ARRAY OF CHAR): ADDRESS; PROCEDURE strspn(_s1,_s2: ARRAY OF CHAR): CARDINAL; PROCEDURE strstr(_s1,_s2: ARRAY OF CHAR): ADDRESS; PROCEDURE strtok(VAR _s1: ARRAY OF CHAR; _s2: ARRAY OF CHAR): ADDRESS; PROCEDURE strupr(VAR _s: ARRAY OF CHAR): ADDRESS; (*# save, call(near_call=>off, ds_eq_ss=>off), data(near_ptr=>off) *) PROCEDURE _fmemcmp(s1: FarADDRESS; s2: FarADDRESS; n: CARDINAL ): FarADDRESS; PROCEDURE _fmemcpy(dest: FarADDRESS; source: FarADDRESS; n: CARDINAL ): FarADDRESS; PROCEDURE _fmemset(s: FarADDRESS; c: INTEGER; n: CARDINAL): FarADDRESS; PROCEDURE _fstrcat(VAR dest: ARRAY OF CHAR; source: ARRAY OF CHAR): FarADDRESS; PROCEDURE _fstrcmp(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): INTEGER; PROCEDURE _fstrcpy(VAR dest: ARRAY OF CHAR; source: ARRAY OF CHAR): FarADDRESS; PROCEDURE _fstrlen(s: ARRAY OF CHAR): CARDINAL; PROCEDURE _fstrset(VAR s: ARRAY OF CHAR; ch: INTEGER): FarADDRESS; PROCEDURE _fmemccpy(dest: FarADDRESS; source: FarADDRESS; c: INTEGER; n: CARDINAL): FarADDRESS; PROCEDURE _fmemchr(s: FarADDRESS; c: INTEGER; n: CARDINAL ): FarADDRESS; PROCEDURE _fmemicmp(s1: FarADDRESS; s2: FarADDRESS; n: CARDINAL): INTEGER; PROCEDURE _fstpcpy(VAR dest: ARRAY OF CHAR; source: ARRAY OF CHAR): FarADDRESS; PROCEDURE _fstrchr(s: ARRAY OF CHAR; c: INTEGER): FarADDRESS; PROCEDURE _fstrcoll(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): INTEGER; PROCEDURE _fstrxfrm(VAR s1: ARRAY OF CHAR; s2: ARRAY OF CHAR; n: CARDINAL): CARDINAL; PROCEDURE _fstrcspn(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): CARDINAL; PROCEDURE _fstrdup(s: ARRAY OF CHAR): FarADDRESS; PROCEDURE _nstrdup(s: ARRAY OF CHAR): NearADDRESS; PROCEDURE _fstricmp(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): INTEGER; PROCEDURE _fstrlwr(VAR s: ARRAY OF CHAR): FarADDRESS; PROCEDURE _fstrncat(VAR dest: ARRAY OF CHAR; source: ARRAY OF CHAR; n: CARDINAL): FarADDRESS; PROCEDURE _fstrncmp(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR; n: CARDINAL): INTEGER; PROCEDURE _fstrncpy(VAR dest: ARRAY OF CHAR; source: ARRAY OF CHAR; n: CARDINAL): FarADDRESS; PROCEDURE _fstrnicmp(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR; n: CARDINAL): INTEGER; PROCEDURE _fstrnset(VAR s: ARRAY OF CHAR; ch: INTEGER; n: CARDINAL): FarADDRESS; PROCEDURE _fstrpbrk(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): FarADDRESS; PROCEDURE _fstrrchr(s: ARRAY OF CHAR; c: INTEGER): FarADDRESS; PROCEDURE _fstrrev(VAR s: ARRAY OF CHAR): FarADDRESS; PROCEDURE _fstrspn(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): CARDINAL; PROCEDURE _fstrstr(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): FarADDRESS; PROCEDURE _fstrtok(VAR s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): FarADDRESS; PROCEDURE _fstrupr(VAR s: ARRAY OF CHAR): FarADDRESS; (*# restore *) CONST strcmpi ::= stricmp; strncmpi ::= strnicmp; PROCEDURE _strerror(_s: ARRAY OF CHAR): ADDRESS; END cstring.