/* * Definitions for the types that are built into the compiler. */ /* BPoint object. */ type #'BPNT' point { float x, float y }; /* BRect object. */ type #'RECT' rect { float left, float top, float right, float bottom }; /* rgb_color object. */ type #'RGBC' rgb_color { uint8 red, uint8 green, uint8 blue, uint8 alpha = 0xFF }; /* Application signature. */ type(1, "BEOS:APP_SIG") #'MIMS' app_signature { string signature // max 240 bytes (including null) }; /* Application name catalog entry. */ type(1, "SYS:NAME") #B_STRING_TYPE app_name_catalog_entry { string catalog_entry }; /* Application launch flags */ type(1, "BEOS:APP_FLAGS") #'APPF' app_flags { // B_SINGLE_LAUNCH (0x0) // B_MULTIPLE_LAUNCH (0x1) // B_EXCLUSIVE_LAUNCH (0x2) // B_BACKGROUND_APP (0x4) // B_ARGV_ONLY (0x8) uint32 flags }; /* * Application version info. Should always be 340 bytes. The system * will automatically append 340 additional bytes with "system info". */ type(1, "BEOS:APP_VERSION") #'APPV' app_version { uint32 major, uint32 middle, uint32 minor, // B_APPV_DEVELOPMENT (0) // B_APPV_ALPHA (1) // B_APPV_BETA (2) // B_APPV_GAMMA (3) // B_APPV_GOLDEN_MASTER (4) // B_APPV_FINAL (5) uint32 variety, uint32 internal, string short_info[64], string long_info[256] }; /* Large (32x32, 8-bit) application icon. */ type(101, "BEOS:L:STD_ICON") #'ICON' large_icon { array icon[1024] }; /* Small (16x16, 8-bit) application icon. */ type(101, "BEOS:M:STD_ICON") #'MICN' mini_icon { array icon[256] }; /* Supported file types. */ type(1, "BEOS:FILE_TYPES") #'MSGG' file_types { // contains one or more fields called "types", each of which // has a MIME type value, for example: "types" = "text/plain" message types };