-
Notifications
You must be signed in to change notification settings - Fork 1
/
dat.h
53 lines (46 loc) · 1.53 KB
/
dat.h
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
45
46
47
48
49
50
51
52
53
/*
$Header: d:/cvsroot/tads/TADS2/DAT.H,v 1.2 1999/05/17 02:52:11 MJRoberts Exp $
*/
/*
* Copyright (c) 1991, 2002 Michael J. Roberts. All Rights Reserved.
*
* Please see the accompanying license file, LICENSE.TXT, for information
* on using and copying this software.
*/
/*
Name
dat.h - datatype definitions
Function
Defines datatypes for TADS
Notes
None
Modified
08/11/91 MJRoberts - creation
*/
#ifndef DAT_INCLUDED
#define DAT_INCLUDED
#ifndef STD_INCLUDED
#include "std.h"
#endif
/* a type of a piece of data */
typedef int dattyp;
/* datatype numbers */
#define DAT_NUMBER 1
#define DAT_OBJECT 2
#define DAT_SSTRING 3
#define DAT_BASEPTR 4
#define DAT_NIL 5 /* nil, as in FALSE or empty list */
#define DAT_CODE 6
#define DAT_LIST 7
#define DAT_TRUE 8 /* inverse of nil */
#define DAT_DSTRING 9
#define DAT_FNADDR 10 /* a function address */
#define DAT_TPL 11 /* template list pointer */
#define DAT_PROPNUM 13 /* a property number */
#define DAT_DEMAND 14 /* special flag: use callback to set on use */
#define DAT_SYN 15 /* synonym to indicated property value */
#define DAT_REDIR 16 /* redirection to different object */
#define DAT_TPL2 17 /* new-style template */
/* determine the size of a piece of data */
uint datsiz(dattyp typ, void *valptr);
#endif /* DAT_INCLUDED */