|
|
1.1 root 1: /*
2: * sprite.h --
3: *
4: * Common constants and type declarations for Sprite.
5: *
6: * Copyright 1985, 1988 Regents of the University of California
7: * Permission to use, copy, modify, and distribute this
8: * software and its documentation for any purpose and without
9: * fee is hereby granted, provided that the above copyright
10: * notice appear in all copies. The University of California
11: * makes no representations about the suitability of this
12: * software for any purpose. It is provided "as is" without
13: * express or implied warranty.
14: *
15: * $Header: /sprite/src/lib/include/RCS/sprite.h,v 1.6 89/09/08 16:27:43 mgbaker Exp $ SPRITE (Berkeley)
16: */
17:
18: #ifndef _SPRITE
19: #define _SPRITE
20:
21: /*
22: * A boolean type is defined as an integer, not an enum. This allows a
23: * boolean argument to be an expression that isn't strictly 0 or 1 valued.
24: */
25:
26: #ifndef TRUE
27: #define TRUE 1
28: #endif
29: #ifndef FALSE
30: #define FALSE 0
31: #endif
32:
33: #ifndef _ASM
34: typedef int Boolean;
35:
36: /*
37: * Functions that must return a status can return a ReturnStatus to
38: * indicate success or type of failure.
39: */
40:
41: typedef int ReturnStatus;
42: #endif /* _ASM */
43:
44: /*
45: * The following statuses overlap with the first 2 generic statuses
46: * defined in status.h:
47: *
48: * SUCCESS There was no error.
49: * FAILURE There was a general error.
50: */
51:
52: #define SUCCESS 0x00000000
53: #define FAILURE 0x00000001
54:
55:
56: /*
57: * A nil pointer must be something that will cause an exception if
58: * referenced. There are two nils: the kernels nil and the nil used
59: * by user processes.
60: */
61:
62: #define NIL 0xFFFFFFFF
63: #define USER_NIL 0
64: #ifndef NULL
65: #define NULL 0
66: #endif
67:
68: #ifndef _ASM
69: /*
70: * An address is just a pointer in C. It is defined as a character pointer
71: * so that address arithmetic will work properly, a byte at a time.
72: */
73:
74: typedef char *Address;
75:
76: /*
77: * ClientData is an uninterpreted word. It is defined as an int so that
78: * kdbx will not interpret client data as a string. Unlike an "Address",
79: * client data will generally not be used in arithmetic.
80: */
81:
82: #ifndef _CLIENTDATA
83: typedef int *ClientData;
84: #define _CLIENTDATA
85: #endif
86:
87: #ifndef __STDC__
88: #define volatile
89: #define const
90: #endif
91: #endif /* _ASM */
92:
93:
94: #endif /* _SPRITE */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.