project_files/hwc/rtl/pas2c.h
changeset 10015 4feced261c68
parent 9962 97ed501accc5
child 10121 8b65699beb56
equal deleted inserted replaced
10014:56d2f2d5aad8 10015:4feced261c68
       
     1 #pragma once
       
     2 
       
     3 #include <stddef.h>
       
     4 #include <stdint.h>
       
     5 #include <stdbool.h>
       
     6 #include <wchar.h>
       
     7 #include <math.h>
       
     8 
       
     9 #define MAX_PARAMS 64
       
    10 
       
    11 typedef union string255_
       
    12     {
       
    13         struct {
       
    14             unsigned char s[257];
       
    15         };
       
    16         struct {
       
    17             unsigned char len;
       
    18             unsigned char str[256];
       
    19         };
       
    20     } string255;
       
    21 typedef struct string192_
       
    22     {
       
    23         unsigned char s[193];
       
    24     } string192;
       
    25 typedef struct string31_
       
    26     {
       
    27         unsigned char s[32];
       
    28     } string31;
       
    29 typedef struct string15_
       
    30     {
       
    31         unsigned char s[16];
       
    32     } string15;
       
    33 
       
    34 typedef string255 shortstring;
       
    35 typedef string255 ansistring;
       
    36 
       
    37 typedef uint8_t Byte;
       
    38 typedef int8_t ShortInt;
       
    39 typedef uint16_t Word;
       
    40 typedef int16_t SmallInt;
       
    41 typedef uint32_t LongWord;
       
    42 typedef int32_t LongInt;
       
    43 typedef uint64_t QWord;
       
    44 typedef int64_t Int64;
       
    45 typedef LongWord Cardinal;
       
    46 
       
    47 typedef LongInt Integer;
       
    48 typedef float extended;
       
    49 typedef float real;
       
    50 typedef float single;
       
    51 
       
    52 typedef bool boolean;
       
    53 typedef int LongBool;
       
    54 
       
    55 typedef void * pointer;
       
    56 typedef Byte * PByte;
       
    57 typedef char * PChar;
       
    58 typedef LongInt * PLongInt;
       
    59 typedef LongWord * PLongWord;
       
    60 typedef Integer * PInteger;
       
    61 typedef int PtrInt;
       
    62 typedef wchar_t widechar;
       
    63 typedef wchar_t* PWideChar;
       
    64 typedef char Char;
       
    65 typedef LongInt SizeInt;
       
    66 typedef char ** PPChar;
       
    67 typedef Word* PWord;
       
    68 
       
    69 string255 _strconcat(string255 a, string255 b);
       
    70 string255 _strappend(string255 s, unsigned char c);
       
    71 string255 _strprepend(unsigned char c, string255 s);
       
    72 string255 _chrconcat(unsigned char a, unsigned char b);
       
    73 bool _strcompare(string255 a, string255 b);
       
    74 bool _strcomparec(string255 a, unsigned char b);
       
    75 bool _strncompare(string255 a, string255 b);
       
    76 
       
    77 
       
    78 #define STRINIT(a) {.len = sizeof(a) - 1, .str = a}
       
    79 
       
    80