github.com/Konstantin8105/c4go@v0.0.0-20240505174241-768bb1c65a51/program/definition_type.go (about)

     1  package program
     2  
     3  // DefinitionType - conversion map from C standard library structures to
     4  // c4go structures
     5  var DefinitionType = map[string]string{
     6  	// time.h
     7  	"time_t": "github.com/Konstantin8105/c4go/noarch.TimeT",
     8  	"github.com/Konstantin8105/c4go/noarch.TimeT": "int32",
     9  	"__time_t":      "int32",
    10  	"__suseconds_t": "int32",
    11  
    12  	"fpos_t": "int32",
    13  
    14  	// unistd.h
    15  	"ssize_t": "github.com/Konstantin8105/c4go/noarch.SsizeT",
    16  	"github.com/Konstantin8105/c4go/noarch.SsizeT": "long int",
    17  
    18  	// built-in
    19  	"bool":                   "bool",
    20  	"char *":                 "[]byte",
    21  	"char":                   "byte",
    22  	"char*":                  "[]byte",
    23  	"double":                 "float64",
    24  	"float":                  "float32",
    25  	"int":                    "int32",
    26  	"long double":            "float64",
    27  	"long int":               "int32",
    28  	"long long":              "int64",
    29  	"long long int":          "int64",
    30  	"long long unsigned int": "uint64",
    31  	"long unsigned int":      "uint32",
    32  	"long":                   "int32",
    33  	"short":                  "int16",
    34  	"signed char":            "int8",
    35  	"unsigned char":          "uint8",
    36  	"unsigned int":           "uint32",
    37  	"unsigned long long":     "uint64",
    38  	"unsigned long":          "uint32",
    39  	"unsigned short":         "uint16",
    40  	"unsigned short int":     "uint16",
    41  	"void":                   "",
    42  	"_Bool":                  "int32",
    43  	"size_t":                 "uint32",
    44  	"ptrdiff_t":              "github.com/Konstantin8105/c4go/noarch.PtrdiffT",
    45  	"github.com/Konstantin8105/c4go/noarch.PtrdiffT": "uint64",
    46  	"wchar_t": "github.com/Konstantin8105/c4go/noarch.WcharT",
    47  	"github.com/Konstantin8105/c4go/noarch.WcharT": "rune",
    48  
    49  	// void*
    50  	"void*":  "interface{}",
    51  	"void *": "interface{}",
    52  
    53  	// null is a special case (it should probably have a less ambiguous name)
    54  	// when using the NULL macro.
    55  	"null": "null",
    56  
    57  	// sys/stat.h
    58  	"mode_t":   "uint16",
    59  	"__mode_t": "uint16",
    60  
    61  	"FILE": "github.com/Konstantin8105/c4go/noarch.File",
    62  
    63  	// termios.h
    64  	"tcflag_t": "uint32",
    65  	"cc_t":     "uint8",
    66  
    67  	// sys/resource.h
    68  	"__rusage_who":   "int",
    69  	"__rusage_who_t": "int",
    70  
    71  	// time.h
    72  	"clock_t": "github.com/Konstantin8105/c4go/noarch.ClockT",
    73  	"github.com/Konstantin8105/c4go/noarch.ClockT": "int64",
    74  
    75  	// signal.h
    76  	"sig_atomic_t": "int64",
    77  
    78  	// sys/types.h
    79  	"off_t":   "int64",
    80  	"__off_t": "int64",
    81  }