blob: 0a858f51638e29a2f0fb68a0672a381552beeb39 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
/* Copyright (C) 2002
* This file is part of the ld86 command for Linux-86
* It is distributed under the GNU Library General Public License.
*
* CP/M-86 CMD file header
*/
#ifndef __CPM86_H
#define __CPM86_H
typedef char Short16[2];
struct cpm86_group {
unsigned char cg_type; /* 1=Code 2=Data */
Short16 cg_len; /* Group length, paragraphs */
Short16 cg_base; /* Group address, normally 0 for relocatable */
Short16 cg_min; /* Minimum size, normally = group length */
Short16 cg_max; /* Maximum size, normally 0x1000 (64k) */
};
struct cpm86_exec { /* CP/M-86 header */
struct cpm86_group ce_group[8];
unsigned char ce_spare[51];
Short16 ce_rsxs; /* Record with RSX list */
Short16 ce_fixups; /* Record with fixups */
unsigned char ce_flags; /* Concurrent CP/M flags */
};
/* Group types */
#define CG_EMPTY 0
#define CG_CODE 1
#define CG_DATA 2
#define CG_EXTRA 3
#define CG_STACK 4
#define CG_AUX1 5
#define CG_AUX2 6
#define CG_AUX3 7
#define CG_AUX4 8
#define CG_PURE 9 /* Code that is known to be pure */
#define CPM86_HEADERLEN 0x80
#endif /* _CPM86_H */
|