📄 uilsymdef.h
字号:
/** * * $Id: UilSymDef.h,v 1.1 2004/08/28 19:23:37 dannybackx Exp $ * * Copyright (C) 1995 Free Software Foundation, Inc. * Copyright (C) 1995-2002 LessTif Development Team * * This file is part of the GNU LessTif Library. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * **/#ifndef _UIL_UILSYMDEF_H#define _UIL_UILSYMDEF_H#include <Xm/Xm.h>#ifdef __cplusplusextern "C" {#endif/* * constraint check access macro */#define _constraint_check(arg) \ (constraint_tab[((arg)-1)/8] & (1 << ((arg)-1)%8))/* * Header for each symbol entry */typedef struct{ char b_tag; char b_type; unsigned short w_node_size; int user_data; struct _src_source_record_type *az_src_rec; unsigned char b_src_pos; unsigned char b_end_pos;}sym_entry_header_type;typedef struct{ sym_entry_header_type header; char b_value[1];}sym_entry_type;/* * NAMES NAMES NAMES NAMES NAMES NAMES NAMES NAMES */#define sym_m_referenced (1 << 0)#define sym_m_cycle_checked (1 << 1)#define sym_m_has_cycle (2 << 1)typedef struct _sym_name_entry_type{ sym_entry_header_type header; sym_entry_type *az_object; struct _sym_name_entry_type *az_next_name_entry; struct _sym_name_entry_type *az_prev_name_entry; int az_cycle_id; unsigned char b_flags; char c_text[1];}sym_name_entry_type;#define sym_k_name_entry_size (sizeof(sym_name_entry_type) - sizeof(char[1]))/* * OBJECTS OBJECTS OBJECTS OBJECTS OBJECTS OBJECTS OBJECTS OBJECTS */typedef struct{ sym_name_entry_type *az_name; sym_entry_type *az_reference; sym_entry_type *az_next; char *az_comment; unsigned int b_flags;}sym_obj_header_type;typedef struct{ sym_entry_header_type header; sym_obj_header_type obj_header;}sym_obj_entry_type;/* * COLOR TABLE COLOR TABLE COLOR TABLE COLOR TABLE */typedef struct{ unsigned char b_letter; unsigned char b_index; unsigned short w_desc_offset; struct _sym_value_entry_type *az_color;}sym_color_element;/* * COLOR ITEM COLOR ITEM COLOR ITEM COLOR ITEM */typedef struct _sym_color_item_entry_type{ sym_entry_header_type header; struct _sym_color_item_entry_type *az_next; unsigned char b_letter; unsigned char b_index; unsigned char b_spare1; struct _sym_value_entry_type *az_color;}sym_color_item_entry_type;#define sym_k_color_item_entry_size (sizeof(sym_color_item_entry_type))/* * ICONS ICONS ICONS ICONS ICONS ICONS ICONS ICONS */typedef struct{ unsigned short w_height; unsigned short w_width; struct _sym_value_entry_type *az_color_table; struct _sym_value_entry_type *az_rows;}sym_icon_element;/* * aux flags */#define sym_m_table_entry (1 << 0)#define sym_m_separate (1 << 2)#define sym_m_sixteen_bit sym_m_separate#define sym_m_exp_eval (1 << 3)/* * color flags */#define sym_k_unspecified_color 0#define sym_k_background_color 1#define sym_k_foreground_color 2/* * VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES */typedef struct _sym_value_entry_type{ sym_entry_header_type header; sym_obj_header_type obj_header; unsigned char b_type; unsigned short w_length; char output_state; unsigned char b_table_count; unsigned char b_aux_flags; unsigned char b_arg_type; unsigned char b_data_offset; unsigned char b_pixel_type; unsigned char b_charset; unsigned char b_direction; unsigned char b_max_index; unsigned char b_expr_opr; unsigned int l_circular_ref_chk; unsigned short int b_enumeration_value_code; long int resource_id; struct _sym_value_entry_type *az_charset_value; struct _sym_value_entry_type *az_next_table_value; struct _sym_value_entry_type *az_first_table_value; struct _sym_value_entry_type *az_exp_op1; struct _sym_value_entry_type *az_exp_op2; union _sym_value_entry_value_union { int l_integer; double d_real; char *c_value; XmString xms_value; float single_float; sym_color_element *z_color; sym_icon_element *z_icon; char *az_data; } value;}sym_value_entry_type;#define sym_k_value_entry_size (sizeof(sym_value_entry_type))/* * LISTS LISTS LISTS LISTS LISTS LISTS LISTS LISTS */#define sym_k_error_list sym_k_error_entry#define sym_k_callback_list sym_k_callback_entry#define sym_k_argument_list sym_k_argument_entry#define sym_k_control_list sym_k_control_entry#define sym_k_proc_ref_list sym_k_proc_ref_entrytypedef struct _sym_list_entry_type{ sym_entry_header_type header; sym_obj_header_type obj_header; unsigned short w_count; unsigned short w_gadget_count;}sym_list_entry_type;#define sym_k_list_entry_size (sizeof(sym_list_entry_type))typedef struct _sym_nested_list_entry_type{ sym_entry_header_type header; sym_obj_header_type obj_header; sym_list_entry_type *az_list;}sym_nested_list_entry_type;#define sym_k_nested_list_entry_size (sizeof(sym_nested_list_entry_type))/* * ARGUMENTS ARGUMENTS ARGUMENTS ARGUMENTS ARGUMENTS ARGUMENTS */typedef struct _sym_argument_entry_type{ sym_entry_header_type header; sym_obj_header_type obj_header; sym_value_entry_type *az_arg_name; sym_value_entry_type *az_arg_value;}sym_argument_entry_type;#define sym_k_argument_entry_size (sizeof(sym_argument_entry_type))/* * RESOURCES RESOURCES RESOURCES RESOURCES RESOURCES RESOURCES */typedef struct{ sym_entry_header_type header; sym_obj_header_type obj_header; unsigned char v_arg_checking; unsigned char b_arg_count; unsigned char b_arg_type; unsigned char b_widget_type;}sym_proc_def_entry_type;#define sym_k_proc_def_entry_size (sizeof(sym_proc_def_entry_type))/* * PROCEDURES PROCEDURES PROCEDURES PROCEDURES PROCEDURES PROCEDURES */typedef struct{ sym_entry_header_type header; sym_obj_header_type obj_header; sym_proc_def_entry_type *az_proc_def; sym_value_entry_type *az_arg_value;}sym_proc_ref_entry_type;#define sym_k_proc_ref_entry_size (sizeof(sym_proc_ref_entry_type))#define sym_k_callback_proc 1#define sym_k_object_proc 2/* * CALLBACKS CALLBACKS CALLBACKS CALLBACKS CALLBACKS CALLBACKS */typedef struct _sym_callback_entry_type{ sym_entry_header_type header; sym_obj_header_type obj_header; sym_value_entry_type *az_call_reason_name; sym_proc_ref_entry_type *az_call_proc_ref; sym_list_entry_type *az_call_proc_ref_list;}sym_callback_entry_type;#define sym_k_callback_entry_size (sizeof(sym_callback_entry_type))/* * PARENT LIST PARENT LIST PARENT LIST PARENT LIST PARENT LIST */typedef struct _sym_parent_list_type{ sym_entry_header_type header; struct _sym_widget_entry_type *parent; struct _sym_parent_list_type *next;}sym_parent_list_type;#define sym_k_parent_list_size (sizeof(sym_parent_list_type))/* * WIDGETS & GADGETS WIDGETS & GADGETS WIDGETS & GADGETS WIDGETS & GADGETS */typedef struct _sym_widget_entry_type{ sym_entry_header_type header; sym_obj_header_type obj_header; sym_list_entry_type *az_callbacks; sym_list_entry_type *az_arguments; sym_list_entry_type *az_controls; sym_proc_ref_entry_type *az_create_proc; sym_parent_list_type *parent_list; int output_state; long int resource_id;}sym_widget_entry_type;#define sym_k_widget_entry_size (sizeof(sym_widget_entry_type))/* * CONTROLS CONTROLS CONTROLS CONTROLS CONTROLS CONTROLS CONTROLS CONTROLS */#define sym_m_def_in_progress (1 << 6)#define sym_m_managed (1 << 7)#define sym_m_obj_is_reference (1 << 8)#define sym_m_forward_ref (1 << 9)#define sym_m_validated (1 << 10)typedef struct _sym_control_entry_type{ sym_entry_header_type header; sym_obj_header_type obj_header; sym_widget_entry_type *az_con_obj;}sym_control_entry_type;#define sym_k_control_entry_size (sizeof(sym_control_entry_type))/* * EXTERNS EXTERNS EXTERNS EXTERNS EXTERNS EXTERNS EXTERNS EXTERNS */typedef struct _sym_external_def_entry_type{ sym_entry_header_type header; struct _sym_external_def_entry_type *az_next_object; sym_name_entry_type *az_name;}sym_external_def_entry_type;#define sym_k_external_def_entry_size (sizeof(sym_external_def_entry_type))/* * FORWARD REF FORWARD REF FORWARD REF FORWARD REF FORWARD REF */typedef struct _sym_forward_ref_entry_type{ sym_entry_header_type header; struct _sym_forward_ref_entry_type *az_next_ref; char *a_update_location; sym_name_entry_type *az_name; sym_widget_entry_type *parent;}sym_forward_ref_entry_type;#define sym_k_forward_ref_entry_size (sizeof(sym_forward_ref_entry_type))#define sym_k_patch_add 1#define sym_k_bind_value_name 2#define sym_k_patch_list_add 3typedef struct _sym_val_forward_ref_entry_type{ sym_entry_header_type header; struct _sym_val_forward_ref_entry_type *az_next_ref; char *a_update_location; sym_name_entry_type *az_name; unsigned char fwd_ref_flags;}sym_val_forward_ref_entry_type;#define sym_k_val_forward_ref_entry_size (sizeof(sym_val_forward_ref_entry_type))/* * OBJECTS OBJECTS OBJECTS OBJECTS OBJECTS OBJECTS OBJECTS OBJECTS */typedef struct _sym_def_obj_entry_type{ sym_entry_header_type header; struct _sym_def_obj_entry_type *next; char b_object_info; char b_variant_info;}sym_def_obj_entry_type;#define sym_k_def_obj_entry_size (sizeof(sym_def_obj_entry_type))/* * MODULE MODULE MODULE MODULE MODULE MODULE MODULE MODULE */typedef struct _sym_module_entry_type{ sym_entry_header_type header; sym_obj_header_type obj_header; sym_value_entry_type *az_version; sym_value_entry_type *az_character_set; sym_value_entry_type *az_case_sense; sym_def_obj_entry_type *az_def_obj;}sym_module_entry_type;#define sym_k_module_entry_size (sizeof(sym_module_entry_type))/* * SECTIONS SECTIONS SECTIONS SECTIONS SECTIONS SECTIONS SECTIONS SECTIONS */#define sym_k_list_section 1#define sym_k_procedure_section 2#define sym_k_value_section 3#define sym_k_identifier_section 4#define sym_k_object_section 5#define sym_k_include_section 6#define sym_k_section_tail 7typedef struct _sym_section_entry_type{ sym_entry_header_type header; struct _sym_section_entry_type *prev_section; sym_entry_type *next; sym_entry_type *entries;}sym_section_entry_type;#define sym_k_section_entry_size (sizeof (sym_section_entry_type))/* * INCLUDES INCLUDES INCLUDES INCLUDES INCLUDES INCLUDES INCLUDES INCLUDES */typedef struct _sym_include_file_entry_type{ sym_entry_header_type header; sym_section_entry_type *sections; char file_name[255]; char full_file_name[255];}sym_include_file_entry_type;#define sym_k_include_file_entry_size (sizeof(sym_include_file_entry_type))/* * SYM TABLE ROOT SYM TABLE ROOT SYM TABLE ROOT SYM TABLE ROOT */typedef struct _sym_root_entry_type{ sym_entry_header_type header; struct _src_source_record_type *src_record_list; char file_name[255]; char full_file_name[255]; sym_section_entry_type *sections; sym_module_entry_type *module_hdr;}sym_root_entry_type;#define sym_k_root_entry_size (sizeof(sym_root_entry_type))#define _sym_copy_entry(__dest, __src, __size) _move (__dest, __src, __size)#ifdef __cplusplus}#endif#endif /* _UIL_UILSYMDEF_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -