X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=rpcgen_int.h;h=b5515164cf51d7ec68a9689f0bca699f4bcb4192;hb=62490f6655cf618872913e9597ed0001766cd4d8;hp=92713263b180b71a91f87924d2da41ae5f3d389c;hpb=1b9cc11ece64ac12f63e6c96e32b404b32fb0f32;p=portablexdr.git diff --git a/rpcgen_int.h b/rpcgen_int.h index 9271326..b551516 100644 --- a/rpcgen_int.h +++ b/rpcgen_int.h @@ -37,7 +37,7 @@ extern enum output_mode output_mode; enum type_enum { type_char, type_short, type_int, type_hyper, type_double, - type_string, type_opaque, type_bool, + type_bool, type_ident, }; @@ -45,13 +45,15 @@ struct type { enum type_enum type; int sgn; /* true if signed, false if unsigned */ char *ident; - char *len; /* length (only for strings) */ }; -extern struct type *new_type (enum type_enum, int, char *, char *); +extern struct type *new_type (enum type_enum, int, char *); extern void free_type (struct type *); enum decl_type { + decl_type_string, /* string foo; (len is optional) */ + decl_type_opaque_fixed, /* opaque foo[len]; */ + decl_type_opaque_variable, /* opaque foo; */ decl_type_simple, /* type ident; */ decl_type_fixed_array, /* type ident[len]; */ decl_type_variable_array, /* type ident; (len is optional) */ @@ -60,7 +62,7 @@ enum decl_type { struct decl { enum decl_type decl_type; - struct type *type; + struct type *type; /* NULL for string & opaque types. */ char *ident; char *len; };