CSTRING.DEF 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. (* Release 3.10 *)
  2. (*-------------------------------------------------------------------------*
  3. * *
  4. * CSTRING.DEF - Modula-2 interface to STRING.H *
  5. * *
  6. * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
  7. * All Rights Reserved *
  8. * *
  9. *--------------------------------------------------------------------------*)
  10. (*# project("#set tsc='on'") *)
  11. (*# call(o_a_size=>off, o_a_copy=>off, c_conv=>on, result_optional=>on) *)
  12. (*# module(implementation=>off, init_code=>off) *)
  13. (*# name(prefix=>c) *)
  14. DEFINITION MODULE cstring;
  15. PROCEDURE memcmp(_s1,_s2: ADDRESS; _num: CARDINAL): INTEGER;
  16. PROCEDURE memcpy(_dest,_source: ADDRESS; _num: CARDINAL): ADDRESS;
  17. PROCEDURE memset(_s: ADDRESS; _c: WORD; _num: CARDINAL): ADDRESS;
  18. PROCEDURE strcat(VAR _dest: ARRAY OF CHAR; _source: ARRAY OF CHAR): ADDRESS;
  19. PROCEDURE strcmp(_s1, _s2: ARRAY OF CHAR): INTEGER;
  20. PROCEDURE strcpy(VAR _dest: ARRAY OF CHAR; _source: ARRAY OF CHAR): ADDRESS;
  21. PROCEDURE strlen(_s: ARRAY OF CHAR): CARDINAL;
  22. PROCEDURE memccpy(_dest,_source: ADDRESS; _c: WORD; _num: CARDINAL): ADDRESS;
  23. PROCEDURE memchr(_s: ADDRESS; _c: WORD; _num: CARDINAL): ADDRESS;
  24. PROCEDURE memicmp(_s1,s2: ADDRESS; _num: CARDINAL): INTEGER;
  25. PROCEDURE memmove(_dest,_source: ADDRESS; _num: CARDINAL): ADDRESS;
  26. PROCEDURE movedata(_sseg,_soff,_dseg,_dofs,_num: CARDINAL);
  27. PROCEDURE movmem(_src,_dest: ADDRESS; _length: CARDINAL);
  28. PROCEDURE setmem(_dest: ADDRESS; _length: CARDINAL; _value: CHAR);
  29. PROCEDURE memwmove(_dest,_source: ADDRESS; _num: CARDINAL): ADDRESS;
  30. PROCEDURE memwset(_s: ADDRESS; _c: WORD; _num: CARDINAL): ADDRESS;
  31. PROCEDURE memwcpy(_dest,_source: ADDRESS; _num: CARDINAL): ADDRESS;
  32. PROCEDURE stpcpy(VAR _dest: ARRAY OF CHAR; _source: ARRAY OF CHAR): ADDRESS;
  33. PROCEDURE strchr(_s: ARRAY OF CHAR; _c: WORD): ADDRESS;
  34. PROCEDURE strcoll(_s1,_s2: ARRAY OF CHAR): INTEGER;
  35. PROCEDURE strxfrm(_s1,_s2: ARRAY OF CHAR; _n: CARDINAL): CARDINAL;
  36. PROCEDURE strcspn(_s1,_s2: ARRAY OF CHAR): CARDINAL;
  37. PROCEDURE strdup(_s: ARRAY OF CHAR): ADDRESS;
  38. PROCEDURE strerror(_errnum: INTEGER): ADDRESS;
  39. PROCEDURE stricmp(_s1,_s2: ARRAY OF CHAR): ADDRESS;
  40. PROCEDURE strlwr(VAR _s: ARRAY OF CHAR): ADDRESS;
  41. PROCEDURE strncat(VAR _dest: ARRAY OF CHAR; _source: ARRAY OF CHAR; _n: CARDINAL): ADDRESS;
  42. PROCEDURE strncmp(_s1,_s2: ARRAY OF CHAR; _n: CARDINAL): INTEGER;
  43. PROCEDURE strncpy(VAR _dest: ARRAY OF CHAR; _source: ARRAY OF CHAR; _n: CARDINAL): ADDRESS;
  44. PROCEDURE strnicmp(_s1,_s2: ARRAY OF CHAR; _n: CARDINAL): INTEGER;
  45. PROCEDURE strnset(VAR _s: ARRAY OF CHAR; ch: WORD; _n: CARDINAL): ADDRESS;
  46. PROCEDURE strpbrk(_s1,_s2: ARRAY OF CHAR): ADDRESS;
  47. PROCEDURE strrchr(_s: ARRAY OF CHAR; c: WORD): ADDRESS;
  48. PROCEDURE strrev(VAR s: ARRAY OF CHAR): ADDRESS;
  49. PROCEDURE strspn(_s1,_s2: ARRAY OF CHAR): CARDINAL;
  50. PROCEDURE strstr(_s1,_s2: ARRAY OF CHAR): ADDRESS;
  51. PROCEDURE strtok(VAR _s1: ARRAY OF CHAR; _s2: ARRAY OF CHAR): ADDRESS;
  52. PROCEDURE strupr(VAR _s: ARRAY OF CHAR): ADDRESS;
  53. (*# save, call(near_call=>off, ds_eq_ss=>off), data(near_ptr=>off) *)
  54. PROCEDURE _fmemcmp(s1: FarADDRESS; s2: FarADDRESS; n: CARDINAL ): FarADDRESS;
  55. PROCEDURE _fmemcpy(dest: FarADDRESS; source: FarADDRESS; n: CARDINAL ): FarADDRESS;
  56. PROCEDURE _fmemset(s: FarADDRESS; c: INTEGER; n: CARDINAL): FarADDRESS;
  57. PROCEDURE _fstrcat(VAR dest: ARRAY OF CHAR; source: ARRAY OF CHAR): FarADDRESS;
  58. PROCEDURE _fstrcmp(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): INTEGER;
  59. PROCEDURE _fstrcpy(VAR dest: ARRAY OF CHAR; source: ARRAY OF CHAR): FarADDRESS;
  60. PROCEDURE _fstrlen(s: ARRAY OF CHAR): CARDINAL;
  61. PROCEDURE _fstrset(VAR s: ARRAY OF CHAR; ch: INTEGER): FarADDRESS;
  62. PROCEDURE _fmemccpy(dest: FarADDRESS; source: FarADDRESS; c: INTEGER; n: CARDINAL): FarADDRESS;
  63. PROCEDURE _fmemchr(s: FarADDRESS; c: INTEGER; n: CARDINAL ): FarADDRESS;
  64. PROCEDURE _fmemicmp(s1: FarADDRESS; s2: FarADDRESS; n: CARDINAL): INTEGER;
  65. PROCEDURE _fstpcpy(VAR dest: ARRAY OF CHAR; source: ARRAY OF CHAR): FarADDRESS;
  66. PROCEDURE _fstrchr(s: ARRAY OF CHAR; c: INTEGER): FarADDRESS;
  67. PROCEDURE _fstrcoll(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): INTEGER;
  68. PROCEDURE _fstrxfrm(VAR s1: ARRAY OF CHAR; s2: ARRAY OF CHAR; n: CARDINAL): CARDINAL;
  69. PROCEDURE _fstrcspn(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): CARDINAL;
  70. PROCEDURE _fstrdup(s: ARRAY OF CHAR): FarADDRESS;
  71. PROCEDURE _nstrdup(s: ARRAY OF CHAR): NearADDRESS;
  72. PROCEDURE _fstricmp(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): INTEGER;
  73. PROCEDURE _fstrlwr(VAR s: ARRAY OF CHAR): FarADDRESS;
  74. PROCEDURE _fstrncat(VAR dest: ARRAY OF CHAR; source: ARRAY OF CHAR; n: CARDINAL): FarADDRESS;
  75. PROCEDURE _fstrncmp(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR; n: CARDINAL): INTEGER;
  76. PROCEDURE _fstrncpy(VAR dest: ARRAY OF CHAR; source: ARRAY OF CHAR; n: CARDINAL): FarADDRESS;
  77. PROCEDURE _fstrnicmp(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR; n: CARDINAL): INTEGER;
  78. PROCEDURE _fstrnset(VAR s: ARRAY OF CHAR; ch: INTEGER; n: CARDINAL): FarADDRESS;
  79. PROCEDURE _fstrpbrk(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): FarADDRESS;
  80. PROCEDURE _fstrrchr(s: ARRAY OF CHAR; c: INTEGER): FarADDRESS;
  81. PROCEDURE _fstrrev(VAR s: ARRAY OF CHAR): FarADDRESS;
  82. PROCEDURE _fstrspn(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): CARDINAL;
  83. PROCEDURE _fstrstr(s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): FarADDRESS;
  84. PROCEDURE _fstrtok(VAR s1: ARRAY OF CHAR; s2: ARRAY OF CHAR): FarADDRESS;
  85. PROCEDURE _fstrupr(VAR s: ARRAY OF CHAR): FarADDRESS;
  86. (*# restore *)
  87. CONST
  88. strcmpi ::= stricmp;
  89. strncmpi ::= strnicmp;
  90. PROCEDURE _strerror(_s: ARRAY OF CHAR): ADDRESS;
  91. END cstring.
  92.