|
|
1.1 root 1: /* @(#) Hstdobj version 1.3 updated 85/02/15 */
2: /*
3: * Sydney C Compiler.
4: *
5: * Copyright 1984, Bruce Ellis.
6: *
7: * Unauthorised possesion, sale or use prohibited.
8: */
9:
10: #include "obj_version.h"
11:
12: #define TIME_SEP '@'
13:
14: #ifdef STD_OBJ
15: #define CMD_SZ 12
16: #define CMD {'#','!','/','b','i','n','/','e','c','h','o',' '}
17: #define MAC_SZ 12
18: #ifndef MAC
19: #define MAC {'v','a','x','\n','\0'}
20: #endif
21:
22: typedef struct
23: {
24: char hd_cmd[CMD_SZ];
25: char hd_mac[MAC_SZ];
26: long hd_str_off;
27: long hd_str_size;
28: long hd_type_size;
29: long hd_var_size;
30: }
31: header;
32:
33: typedef enum
34: {
35: i_data,
36: i_lib,
37: i_src,
38: i_string,
39: i_type,
40: i_var,
41: }
42: obj_items;
43:
44: typedef enum
45: {
46: d_addr,
47: d_bytes,
48: d_end,
49: d_istring,
50: d_irstring,
51: d_space,
52: d_string,
53: d_reloc,
54: d_rstring,
55: }
56: obj_datas;
57:
58: typedef enum
59: {
60: t_arrayof,
61: t_basetype,
62: t_bitfield,
63: t_dimless,
64: t_elaboration,
65: t_enum,
66: t_ftnreturning,
67: t_ptrto,
68: t_structof,
69: t_unionof,
70:
71: t_types,
72: }
73: obj_types;
74:
75: typedef enum
76: {
77: v_arglist,
78: v_array_size,
79: v_auto,
80: v_block_static,
81: v_call,
82: v_formal,
83: v_function,
84: v_global,
85: v_implicit_function,
86: v_static,
87: v_varargs,
88: }
89: obj_vars;
90:
91: #define obj_code(a, b) (((int)(a) << 4) | (int)(b))
92:
93: #define MAX_ITEM 15
94: #define obj_item(c) (((c) >> 4) & 0xF)
95: #define obj_id(c) ((c) & 0xF)
96: #endif STD_OBJ
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.