Added code for c-style strings
This commit is contained in:
40
src/cstrings.d
Normal file
40
src/cstrings.d
Normal file
@@ -0,0 +1,40 @@
|
||||
(****************************************************************************
|
||||
* File name: CSTRINGS.D
|
||||
* Created On: Fri 02 Oct 2020 07:27:00 PM CEST
|
||||
* Last Modified: Fri 02 Oct 2020 07:46:49 PM CEST
|
||||
* Author: Jali <jali@orca-central.de>
|
||||
****************************************************************************
|
||||
* Header file for an implementation of C-Like strings
|
||||
****************************************************************************)
|
||||
|
||||
DEFINITION MODULE CStrings;
|
||||
|
||||
(*
|
||||
* The base data type is a POINTER TO CHAR, that is equal
|
||||
* to the C own char* type.
|
||||
* This type must be NULL-terminated.
|
||||
*)
|
||||
|
||||
CONST
|
||||
NULL = CHR(0);
|
||||
|
||||
TYPE
|
||||
CString : POINTER TO CHAR;
|
||||
|
||||
PROCEDURE Length(str : CString) : LONGCARD
|
||||
VAR
|
||||
count : LONGCARD;
|
||||
countPtr : POINTER TO CHAR;
|
||||
BEGIN
|
||||
count = 0;
|
||||
countPtr = str;
|
||||
WHILE (countPtr^ <> NULL) BEGIN
|
||||
count += 1;
|
||||
END; (* WHILE *)
|
||||
|
||||
RETURN count;
|
||||
END Length;
|
||||
|
||||
END CStrings;
|
||||
|
||||
(* vim: set filetype=modula2: set nospell: *)
|
||||
1
src/cstrings.i
Normal file
1
src/cstrings.i
Normal file
@@ -0,0 +1 @@
|
||||
(* vim: set filetype=modula2: *)
|
||||
38
src/transprt.d
Normal file
38
src/transprt.d
Normal file
@@ -0,0 +1,38 @@
|
||||
(****************************************************************************
|
||||
* File name: TRANSPRT.D
|
||||
* Created On: Fri 02 Oct 2020 07:27:00 PM CEST
|
||||
* Last Modified: Fri 02 Oct 2020 07:27:23 PM CEST
|
||||
* Author: Jali <jali@orca-central.de>
|
||||
****************************************************************************
|
||||
* Header file for all STinG releated source files
|
||||
****************************************************************************)
|
||||
|
||||
DEFINITION MODULE Transport;
|
||||
|
||||
(*
|
||||
* Declare a BOOLEAN type, that is compatible to
|
||||
* the C-declaration. This implements BOOLEAN as
|
||||
* a 16 bit signed integer, which is returned
|
||||
* the STinG call blocks.
|
||||
* It also ensures this code runs with different
|
||||
* MODULA2 compilers.
|
||||
*)
|
||||
|
||||
CONST False = 0;
|
||||
CONST True = 1;
|
||||
|
||||
TYPE BOOL = [False..True];
|
||||
|
||||
(* Driver access structure and functions *)
|
||||
CONST MAGIC = "STiKmagic"; (* Magic for DRV_LIST.magic *)
|
||||
CONST CJTAG = "STiK";
|
||||
|
||||
TYPE
|
||||
DRV_HEADER = RECORD
|
||||
Module : POINTER TO CHAR;
|
||||
Author : POINTER TO CHAR
|
||||
END (* RECORD *)
|
||||
|
||||
END Transport.
|
||||
|
||||
(* vim: set filetype=modula2: *)
|
||||
2
src/transprt.i
Normal file
2
src/transprt.i
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
(* vim: set filetype=modula2: *)
|
||||
Reference in New Issue
Block a user