V10/cmd/hdr/stdobj.h
/*
* Sydney C Compiler.
*
* Copyright 1984, Bruce Ellis.
*
* Unauthorised possesion, sale or use prohibited.
*/
#include "obj_version.h"
#define TIME_SEP '@'
#ifdef STD_OBJ
#define CMD_SZ 12
#define CMD {'#','!','/','b','i','n','/','e','c','h','o',' '}
#define MAC_SZ 12
#ifndef MAC
#define MAC {'v','a','x','\n','\0'}
#endif
typedef struct
{
char hd_cmd[CMD_SZ];
char hd_mac[MAC_SZ];
long hd_str_off;
long hd_str_size;
long hd_type_size;
long hd_var_size;
}
header;
typedef enum
{
i_lib,
i_src,
i_type,
i_var,
}
obj_items;
typedef enum
{
t_arrayof,
t_basetype,
t_bitfield,
t_dimless,
t_elaboration,
t_enum,
t_ftnreturning,
t_ptrto,
t_structof,
t_unionof,
t_types,
}
obj_types;
typedef enum
{
v_arglist,
v_array_size,
v_auto,
v_block_static,
v_call,
v_formal,
v_function,
v_global,
v_implicit_function,
v_initialisation,
v_static,
v_varargs,
}
obj_vars;
#define obj_code(a, b) (((int)(a) << 4) | (int)(b))
#define obj_item(c) (((c) >> 4) & 0xF)
#define obj_id(c) ((c) & 0xF)
#endif STD_OBJ