00001
00023 #ifndef __NTW_H
00024 #define __NTW_H
00025
00026 #include <stdint.h>
00027
00028 #define BUFSIZE 5
00029 #define PORT 12345
00030
00031 #define SYNC 1
00032 #define ASYNC 2
00033
00034 #define uint8 uint8_t
00035 #define uint16 uint16_t
00036 #define uint32 uint32_t
00037 #define int8 int8_t
00038 #define int16 int16_t
00039 #define int32 int32_t
00040
00041 struct event_mask {
00042 int32 sync_general;
00043 int32 async_general;
00044 int32 sync_specific;
00045 int32 async_specific;
00046 };
00047
00048 #ifndef TRUE
00049 #define TRUE 1
00050 #endif
00051
00052 #ifndef FALSE
00053 #define FALSE 0
00054 #endif
00055
00056
00058 #define OP_INFO 'I'
00059 #define OP_DESTROY 'D'
00060 #define OP_SET 'S'
00061 #define OP_GET 'G'
00062 #define OP_EVENT 'E'
00063 #define OP_EOT 'X'
00064 #define OP_ERROR 'Z'
00065
00066
00068 #define ERROR_NO_PROPERTY 11
00069
00071
00072
00073
00074 #define NTW_CONTAINER_TYPE 0x80000000
00075 #define NTW_WIDGET_TYPE 0x40000000
00076 #define NTW_TOPLEVEL_TYPE 0x20000000
00077
00078 #define TYPE_WINDOW (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | NTW_TOPLEVEL_TYPE | 0x01)
00079 #define TYPE_DIALOG (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | NTW_TOPLEVEL_TYPE | 0x02)
00080 #define TYPE_GRID (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x03)
00081 #define TYPE_BUTTON (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x04)
00082 #define TYPE_CHECK_BUTTON (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x05)
00083 #define TYPE_MENU_BAR (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x06)
00084 #define TYPE_MENU (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x07)
00085 #define TYPE_MENU_ITEM (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x08)
00086 #define TYPE_RADIO_BUTTON (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x09)
00087 #define TYPE_NOTEBOOK (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x0a)
00088 #define TYPE_NOTEBOOK_PAGE (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x0b)
00089 #define TYPE_SCROLLPANE (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x0c)
00090 #define TYPE_FRAME (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x0d)
00091 #define TYPE_SPLIT_PANE (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x0e)
00092 #define TYPE_TABLE (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x0f)
00093 #define TYPE_TOOL_BAR (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x10)
00094 #define TYPE_TOOL_ITEM (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x11)
00095 #define TYPE_TOOL_BUTTON (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x12)
00096 #define TYPE_TOOL_MENU_BUTTON (NTW_WIDGET_TYPE | NTW_CONTAINER_TYPE | 0x13)
00097
00098 #define TYPE_LABEL (NTW_WIDGET_TYPE | 0x0100)
00099 #define TYPE_IMAGE (NTW_WIDGET_TYPE | 0x0200)
00100 #define TYPE_ENTRY (NTW_WIDGET_TYPE | 0x0300)
00101 #define TYPE_TABLE_COLUMN (NTW_WIDGET_TYPE | 0x0400)
00102 #define TYPE_COMBO_BOX (NTW_WIDGET_TYPE | 0x0500)
00103 #define TYPE_COMBO_BOX_ENTRY (NTW_WIDGET_TYPE | 0x0600)
00104 #define TYPE_STATUS_BAR (NTW_WIDGET_TYPE | 0x0700)
00105 #define TYPE_SPIN_BUTTON (NTW_WIDGET_TYPE | 0x0800)
00106 #define TYPE_SLIDER (NTW_WIDGET_TYPE | 0x0900)
00107 #define TYPE_PROGRESS_BAR (NTW_WIDGET_TYPE | 0x0a00)
00108 #define TYPE_TEXT_EDITOR (NTW_WIDGET_TYPE | 0x0b00)
00109
00110 #define TYPE_LIST_MODEL (NTW_TOPLEVEL_TYPE | 0x010000)
00111 #define TYPE_LIST_MODEL_NODE (NTW_TOPLEVEL_TYPE | 0x020000)
00112 #define TYPE_TREE_MODEL (NTW_TOPLEVEL_TYPE | 0x030000)
00113 #define TYPE_TREE_MODEL_NODE (NTW_TOPLEVEL_TYPE | 0x040000)
00114 #define TYPE_RADIO_GROUP (NTW_TOPLEVEL_TYPE | 0x050000)
00115 #define TYPE_IMAGE_BUFFER (NTW_TOPLEVEL_TYPE | 0x060000)
00116 #define TYPE_CACHED_IMAGE (NTW_TOPLEVEL_TYPE | 0x070000)
00117 #define TYPE_TIMER (NTW_TOPLEVEL_TYPE | 0x080000)
00118
00119 #define TYPE_EVENT_TABLE (NTW_TOPLEVEL_TYPE | 0x100000)
00120
00121
00123 #define DESTROY_EVENT_MASK 0x0001
00124 #define LEAVE_ENTER_EVENT_MASK 0x0002
00125 #define MOUSE_CLICK_EVENT_MASK 0x0004
00126 #define MOUSE_MOVE_EVENT_MASK 0x0008
00127 #define KEY_PRESS_EVENT_MASK 0x0010
00128 #define KEY_RELEASE_EVENT_MASK 0x0020
00129 #define FOCUS_EVENT_MASK 0x0040
00130 #define WINDOW_EVENT_MASK 0x0080
00131 #define ALL_EVENTS_MASK 0x00ff
00132
00134
00135 #define DESTROY_EVENT 1
00136 #define DELETE_EVENT 2
00137 #define LEAVE_EVENT 3
00138 #define ENTER_EVENT 4
00139 #define MOUSE_CLICK_EVENT 5
00140 #define MOUSE_MOVE_EVENT 6
00141 #define KEY_PRESS_EVENT 7
00142 #define KEY_RELEASE_EVENT 8
00143 #define FOCUS_IN_EVENT 9
00144 #define FOCUS_OUT_EVENT 10
00145 #define WINDOW_STATE_EVENT 11
00146 #define WINDOW_MOVE_OR_RESIZE_EVENT 12
00147 #define GENERAL_EVENT_COUNT 13
00148
00149
00150
00151 #define WIDGET_FLAG_VISIBLE 0x01
00152 #define WIDGET_FLAG_COUNT 1
00153
00154
00155 #define FLAG_EXPAND 0x01
00156 #define FLAG_SHRINK 0x02
00157 #define FLAG_FILL 0x04
00158
00159
00160 #define DEFAULT_XFLAGS FLAG_EXPAND | FLAG_FILL
00161 #define DEFAULT_YFLAGS FLAG_EXPAND | FLAG_FILL
00162 #define DEFAULT_XPAD 0
00163 #define DEFAULT_YPAD 0
00164
00165
00166 #define P_EVENT_MASK 1
00167 #define P_PARENT 2
00168 #define P_VISIBLE 3
00169 #define P_TITLE 4
00170 #define P_WIDTH 5
00171 #define P_HEIGHT 6
00172 #define P_SIZE 7
00173 #define P_TEXT 8
00174 #define P_DATA_LENGTH 9
00175 #define P_DATA 10
00176 #define P_ROWS 11
00177 #define P_COLUMNS 12
00178 #define P_ROW_SPACING 13
00179 #define P_COLUMN_SPACING 14
00180 #define P_HOMOGENEOUS 15
00181 #define P_EDITABLE 16
00182 #define P_VISIBILITY 17
00183 #define P_CHECKED 18
00184 #define P_MAX_LENGTH 20
00185 #define P_SELECTED 21
00186 #define P_MODAL 22
00187 #define P_VALUE 23
00188 #define P_MIN_VALUE 24
00189 #define P_MAX_VALUE 25
00190 #define P_FRACTION 26
00191 #define P_VERTICAL 27
00192 #define P_DELETE_ROW 30
00193 #define P_CLEAR 31
00194 #define P_TIMEOUT_SECONDS 40
00195 #define P_RESET 41
00196
00197
00198
00199 #define DT_BOOLEAN 1
00200 #define DT_INT 2
00201 #define DT_UINT 3
00202 #define DT_FLOAT 4
00203 #define DT_IMAGE 5
00204 #define DT_STRING 6
00205
00206
00207 #define CR_TEXT 1
00208 #define CR_TOGGLE 2
00209 #define CR_COMBO 3
00210 #define CR_IMAGE 4
00211
00212
00213 #define SPLIT_VERTICAL 1
00214 #define SPLIT_HORIZONTAL 2
00215 #define SP_TOP 1
00216 #define SP_BOTTOM 2
00217 #define SP_LEFT 1
00218 #define SP_RIGHT 2
00219
00220 #define COMMON_FIELDS \
00221 int32 id;\
00222 int32 parent_id;\
00223 int32 type;\
00224 int32 flags;\
00225 struct event_mask ev_mask;
00226
00227 #define GRID_PLACEMENT \
00228 uint16 left_coord;\
00229 uint16 right_coord;\
00230 uint16 top_coord;\
00231 uint16 bottom_coord;\
00232 uint8 xflags;\
00233 uint8 yflags;\
00234 uint8 xpad;\
00235 uint8 ypad;
00236
00237 struct widget_header{
00238 COMMON_FIELDS
00239 };
00240
00241 struct widget_data{
00242 COMMON_FIELDS
00243 GRID_PLACEMENT
00244 };
00245
00246
00247
00248
00252 struct window_data{
00253 COMMON_FIELDS
00254
00255 int32 width;
00256 int32 height;
00257 char title[];
00258 };
00259 #define WINDOW_FLAG_MODAL (1 << WIDGET_FLAG_COUNT)
00260 #define WINDOW_EVENT_COUNT 0
00261
00262
00266 struct dialog_data{
00267 COMMON_FIELDS
00268
00269 int32 width;
00270 int32 height;
00271 char title[];
00272 };
00273 #define DIALOG_FLAG_MODAL (1 << WIDGET_FLAG_COUNT)
00274 #define DIALOG_EVENT_COUNT 0
00275
00276
00280 struct grid_data {
00281 COMMON_FIELDS
00282 GRID_PLACEMENT
00283
00284 uint16 rows;
00285 uint16 columns;
00286 uint8 row_spacing;
00287 uint8 column_spacing;
00288 };
00289 #define GRID_FLAG_HOMOGENEOUS (1 << WIDGET_FLAG_COUNT)
00290 #define GRID_EVENT_COUNT 0
00291
00292
00293
00297 struct button_data {
00298 COMMON_FIELDS
00299 GRID_PLACEMENT
00300 };
00301 #define BUTTON_EVENT_COUNT 5
00302 #define BUTTON_CLICKED (GENERAL_EVENT_COUNT)
00303 #define BUTTON_PRESSED (GENERAL_EVENT_COUNT + 1)
00304 #define BUTTON_RELEASED (GENERAL_EVENT_COUNT + 2)
00305 #define BUTTON_ENTER (GENERAL_EVENT_COUNT + 3)
00306 #define BUTTON_LEAVE (GENERAL_EVENT_COUNT + 4)
00307
00308
00309
00313 struct check_button_data {
00314 COMMON_FIELDS
00315 GRID_PLACEMENT
00316 };
00317 #define CHECK_BUTTON_FLAG_CHECKED (1 << WIDGET_FLAG_COUNT)
00318 #define CHECK_BUTTON_EVENT_COUNT 6
00319 #define CHECK_BUTTON_CLICKED (GENERAL_EVENT_COUNT)
00320 #define CHECK_BUTTON_PRESSED (GENERAL_EVENT_COUNT + 1)
00321 #define CHECK_BUTTON_RELEASED (GENERAL_EVENT_COUNT + 2)
00322 #define CHECK_BUTTON_ENTER (GENERAL_EVENT_COUNT + 3)
00323 #define CHECK_BUTTON_LEAVE (GENERAL_EVENT_COUNT + 4)
00324 #define CHECK_BUTTON_TOGGLED (GENERAL_EVENT_COUNT + 5)
00325
00326
00330 struct label_data {
00331 COMMON_FIELDS
00332 GRID_PLACEMENT
00333
00334 char text[];
00335 };
00336 #define LABEL_EVENT_COUNT 0
00337
00338
00339
00343 struct image_data {
00344 COMMON_FIELDS
00345 GRID_PLACEMENT
00346
00347 int32 pixbuf_id;
00348 int32 data_length;
00349 char data[];
00350 };
00351 #define IMAGE_EVENT_COUNT 0
00352
00353
00357 struct image_buffer_data {
00358 int32 id;
00359 int32 parent_id;
00360 int32 type;
00361
00362 uint8 status;
00363 int32 data_length;
00364 char data[];
00365 };
00366 #define IMAGE_BUFFER_EVENT_COUNT 0
00367
00368
00372 struct entry_data {
00373 COMMON_FIELDS
00374 GRID_PLACEMENT
00375
00376 int32 max_length;
00377 char text[];
00378 };
00379 #define ENTRY_FLAG_EDITABLE (0x1 << WIDGET_FLAG_COUNT)
00380 #define ENTRY_FLAG_VISIBILITY (0x2 << WIDGET_FLAG_COUNT)
00381 #define ENTRY_EVENT_COUNT 2
00382 #define ENTRY_ACTIVATE (GENERAL_EVENT_COUNT)
00383 #define ENTRY_CHANGED (GENERAL_EVENT_COUNT + 1)
00384
00385
00386
00390 struct menu_bar_data {
00391 COMMON_FIELDS
00392 GRID_PLACEMENT
00393 };
00394 #define MENU_BAR_EVENT_COUNT 0
00395
00396
00400 struct menu_data {
00401 COMMON_FIELDS
00402 GRID_PLACEMENT
00403 };
00404 #define MENU_EVENT_COUNT 0
00405
00406
00410 struct menu_item_data {
00411 COMMON_FIELDS
00412 };
00413 #define MENU_ITEM_EVENT_COUNT 1
00414 #define MENU_ITEM_ACTIVATE (GENERAL_EVENT_COUNT)
00415
00416
00420 struct tool_bar_data {
00421 COMMON_FIELDS
00422 GRID_PLACEMENT
00423 };
00424
00425 #define TOOL_BAR_FLAG_STYLE_BOTH (1 << WIDGET_FLAG_COUNT)
00426 #define TOOL_BAR_FLAG_STYLE_BOTH_HORIZONTAL (2 << WIDGET_FLAG_COUNT)
00427 #define TOOL_BAR_FLAG_STYLE_ICONS (4 << WIDGET_FLAG_COUNT)
00428 #define TOOL_BAR_FLAG_STYLE_TEXT (8 << WIDGET_FLAG_COUNT)
00429 #define TOOL_BAR_EVENT_COUNT 0
00430
00431
00435 struct tool_item_data {
00436 COMMON_FIELDS
00437 };
00438 #define TOOL_ITEM_EVENT_COUNT 1
00439 #define TOOL_ITEM_ACTIVATE (GENERAL_EVENT_COUNT)
00440
00441
00445 struct tool_button_data {
00446 COMMON_FIELDS
00447
00448 int32 image_id;
00449 char label[];
00450 };
00451 #define TOOL_BUTTON_EVENT_COUNT 1
00452 #define TOOL_BUTTON_CLICKED (GENERAL_EVENT_COUNT)
00453
00457 struct tool_menu_button_data {
00458 COMMON_FIELDS
00459
00460 int32 image_id;
00461 int32 menu_id;
00462 char label[];
00463 };
00464 #define TOOL_MENU_BUTTON_EVENT_COUNT 1
00465 #define TOOL_MENU_BUTTON_CLICKED (GENERAL_EVENT_COUNT)
00466
00467
00468
00472 struct radio_group_data {
00473 int32 id;
00474 int32 parent_id;
00475 int32 type;
00476
00477 int32 selected_button;
00478 };
00479 #define RADIO_GROUP_EVENT_COUNT 0
00480
00481
00485 struct radio_button_data {
00486 COMMON_FIELDS
00487 GRID_PLACEMENT
00488
00489 int32 group_id;
00490 };
00491 #define RADIO_BUTTON_FLAG_CHECKED (1 << WIDGET_FLAG_COUNT)
00492 #define RADIO_BUTTON_EVENT_COUNT 6
00493 #define RADIO_BUTTON_CLICKED (GENERAL_EVENT_COUNT)
00494 #define RADIO_BUTTON_PRESSED (GENERAL_EVENT_COUNT + 1)
00495 #define RADIO_BUTTON_RELEASED (GENERAL_EVENT_COUNT + 2)
00496 #define RADIO_BUTTON_ENTER (GENERAL_EVENT_COUNT + 3)
00497 #define RADIO_BUTTON_LEAVE (GENERAL_EVENT_COUNT + 4)
00498 #define RADIO_BUTTON_TOGGLED (GENERAL_EVENT_COUNT + 5)
00499
00500
00501
00505 struct notebook_data {
00506 COMMON_FIELDS
00507 GRID_PLACEMENT
00508 };
00509 #define NOTEBOOK_EVENT_COUNT 0
00510
00511
00515 struct notebook_page_data {
00516 COMMON_FIELDS
00517
00518 char title[];
00519 };
00520 #define NOTEBOOK_PAGE_EVENT_COUNT 0
00521
00522
00526 struct scrollpane_data {
00527 COMMON_FIELDS
00528 GRID_PLACEMENT
00529 };
00530 #define SCROLLPANE_EVENT_COUNT 0
00531
00532
00533
00538 struct list_model_data {
00539 COMMON_FIELDS
00540
00541 int32 columns;
00542 uint8 column_type[];
00543 };
00544 #define LIST_MODEL_EVENT_COUNT 2
00545 #define LIST_MODEL_CELL_TOGGLED (GENERAL_EVENT_COUNT)
00546 #define LIST_MODEL_CELL_EDITED (GENERAL_EVENT_COUNT + 1)
00547
00551 struct list_model_node_data {
00552 int32 row;
00553 int32 parent_id;
00554 int32 type;
00555
00556 int32 var_data_offset;
00557 char data[];
00558 };
00559
00560
00561
00566 struct tree_model_data {
00567 COMMON_FIELDS
00568
00569 int32 columns;
00570 uint8 column_type[];
00571 };
00572 #define TREE_MODEL_EVENT_COUNT 2
00573 #define TREE_MODEL_CELL_TOGGLED (GENERAL_EVENT_COUNT)
00574 #define TREE_MODEL_CELL_EDITED (GENERAL_EVENT_COUNT + 1)
00575
00576
00581 struct tree_model_node_data {
00582 int32 row;
00583 int32 parent_id;
00584 int32 type;
00585
00586 int32 var_data_offset;
00587 char data[];
00588 };
00589
00590
00591
00595 struct table_data{
00596 COMMON_FIELDS
00597 GRID_PLACEMENT
00598
00599 int32 data_model;
00600 };
00601 #define TABLE_EVENT_COUNT 1
00602 #define TABLE_SELECTION_CHANGED (GENERAL_EVENT_COUNT)
00603
00604
00609 struct table_column_data{
00610 COMMON_FIELDS
00611
00612 int32 column_number;
00613 int32 combo_model;
00614 int32 combo_column;
00615 uint8 render_type;
00616 char title[];
00617 };
00618 #define TABLE_COLUMN_FLAG_EDITABLE (1 << WIDGET_FLAG_COUNT)
00619 #define TABLE_COLUMN_EVENT_COUNT 1
00620 #define TABLE_COLUMN_CLICKED (GENERAL_EVENT_COUNT)
00621
00622
00623
00627 struct frame_data {
00628 COMMON_FIELDS
00629 GRID_PLACEMENT
00630
00631 char label[];
00632 };
00633 #define FRAME_EVENT_COUNT 0
00634
00635
00636
00640 struct split_pane_data {
00641 COMMON_FIELDS
00642 GRID_PLACEMENT
00643
00644 int32 position;
00645 uint8 alignment;
00646 };
00647 #define SPLIT_PANE_EVENT_COUNT 0
00648
00649
00653 struct combo_box_data {
00654 COMMON_FIELDS
00655 GRID_PLACEMENT
00656
00657 int32 list_model;
00658 int32 list_model_column;
00659 int32 selected;
00660 uint8 render_type;
00661 };
00662 #define COMBO_BOX_EVENT_COUNT 1
00663 #define COMBO_BOX_SELECTION_CHANGED (GENERAL_EVENT_COUNT)
00664
00665
00666
00671 struct combo_box_entry_data {
00672 COMMON_FIELDS
00673 GRID_PLACEMENT
00674
00675 int32 max_length;
00676 int32 list_model;
00677 int32 list_model_column;
00678 char text[];
00679 };
00680 #define COMBO_BOX_ENTRY_FLAG_EDITABLE (0x1 << WIDGET_FLAG_COUNT)
00681 #define COMBO_BOX_ENTRY_FLAG_VISIBILITY (0x2 << WIDGET_FLAG_COUNT)
00682 #define COMBO_BOX_ENTRY_EVENT_COUNT 3
00683 #define COMBO_BOX_ENTRY_SELECTION_CHANGED (GENERAL_EVENT_COUNT)
00684 #define COMBO_BOX_ENTRY_ACTIVATE (GENERAL_EVENT_COUNT + 1)
00685 #define COMBO_BOX_ENTRY_CHANGED (GENERAL_EVENT_COUNT + 2)
00686
00687
00691 struct status_bar_data {
00692 COMMON_FIELDS
00693 GRID_PLACEMENT
00694
00695 char text[];
00696 };
00697 #define STATUS_BAR_EVENT_COUNT 0
00698
00699
00703 struct spin_button_data {
00704 COMMON_FIELDS
00705 GRID_PLACEMENT
00706
00707 int32 precision;
00708 char value[32];
00709 char min_value[32];
00710 char max_value[32];
00711 char step[32];
00712 };
00713 #define SPIN_BUTTON_EVENT_COUNT 1
00714 #define SPIN_BUTTON_CHANGED (GENERAL_EVENT_COUNT)
00715
00716
00720 struct slider_data {
00721 COMMON_FIELDS
00722 GRID_PLACEMENT
00723
00724 int32 precision;
00725 char value[32];
00726 char min_value[32];
00727 char max_value[32];
00728 char step[32];
00729 };
00730 #define SLIDER_FLAG_VERTICAL (1 << WIDGET_FLAG_COUNT)
00731 #define SLIDER_EVENT_COUNT 1
00732 #define SLIDER_CHANGED (GENERAL_EVENT_COUNT)
00733
00734
00738 struct progress_bar_data {
00739 COMMON_FIELDS
00740 GRID_PLACEMENT
00741
00742 char fraction[32];
00743 char text[];
00744 };
00745 #define PROGRESS_BAR_FLAG_VERTICAL (0x1 << WIDGET_FLAG_COUNT)
00746 #define PROGRESS_BAR_FLAG_INDEFINITE (0x2 << WIDGET_FLAG_COUNT)
00747 #define PROGRESS_BAR_EVENT_COUNT 0
00748
00749
00753 struct text_editor_data {
00754 COMMON_FIELDS
00755 GRID_PLACEMENT
00756
00757 int32 text_length;
00758 char text[];
00759 };
00760 #define TEXT_EDITOR_FLAG_EDITABLE (0x1 << WIDGET_FLAG_COUNT)
00761 #define TEXT_EDITOR_EVENT_COUNT 2
00762 #define TEXT_EDITOR_TEXT_INSERTED (GENERAL_EVENT_COUNT)
00763 #define TEXT_EDITOR_TEXT_DELETED (GENERAL_EVENT_COUNT + 1)
00764
00765
00769 struct timer_data {
00770 int32 id;
00771 int32 parent_id;
00772 int32 type;
00773 int32 synchronized;
00774
00775 int32 timeout_seconds;
00776 };
00777 #define TIMER_TIMEOUT (GENERAL_EVENT_COUNT)
00778 #define TIMER_EVENT_COUNT 1
00779
00780 #endif