1/*
2 * Definitions for the types that are built into the compiler.
3 */
4
5/* BPoint object. */
6type #'BPNT' point
7{
8	float x,
9	float y
10};
11
12/* BRect object. */
13type #'RECT' rect
14{
15	float left,
16	float top,
17	float right,
18	float bottom
19};
20
21/* rgb_color object. */
22type #'RGBC' rgb_color
23{
24	uint8 red,
25	uint8 green,
26	uint8 blue,
27	uint8 alpha = 0xFF
28};
29
30/* Application signature. */
31type(1, "BEOS:APP_SIG") #'MIMS' app_signature
32{
33	string signature  // max 240 bytes (including null)
34};
35
36/* Application name catalog entry. */
37type(1, "SYS:NAME") #B_STRING_TYPE app_name_catalog_entry
38{
39	string catalog_entry
40};
41
42/* Application launch flags */
43type(1, "BEOS:APP_FLAGS") #'APPF' app_flags
44{
45	// B_SINGLE_LAUNCH    (0x0)
46	// B_MULTIPLE_LAUNCH  (0x1)
47	// B_EXCLUSIVE_LAUNCH (0x2)
48	// B_BACKGROUND_APP   (0x4)
49	// B_ARGV_ONLY        (0x8)
50	uint32 flags
51};
52
53/*
54 * Application version info. Should always be 340 bytes. The system
55 * will automatically append 340 additional bytes with "system info".
56 */
57type(1, "BEOS:APP_VERSION") #'APPV' app_version
58{
59	uint32 major,
60	uint32 middle,
61	uint32 minor,
62
63	// B_APPV_DEVELOPMENT   (0)
64	// B_APPV_ALPHA         (1)
65	// B_APPV_BETA          (2)
66	// B_APPV_GAMMA         (3)
67	// B_APPV_GOLDEN_MASTER (4)
68	// B_APPV_FINAL         (5)
69	uint32 variety,
70
71	uint32 internal,
72
73	string short_info[64],
74	string long_info[256]
75};
76
77/* Large (32x32, 8-bit) application icon. */
78type(101, "BEOS:L:STD_ICON") #'ICON' large_icon
79{
80	array icon[1024]
81};
82
83/* Small (16x16, 8-bit) application icon. */
84type(101, "BEOS:M:STD_ICON") #'MICN' mini_icon
85{
86	array icon[256]
87};
88
89/* Supported file types. */
90type(1, "BEOS:FILE_TYPES") #'MSGG' file_types
91{
92	// contains one or more fields called "types", each of which
93	// has a MIME type value, for example: "types" = "text/plain"
94	message types
95};
96