2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
6 * These libraries and programs are free software; you can
7 * redistribute them and/or modify them under the terms of the GNU
8 * Lesser General Public License as published by the Free Software
9 * Foundation; either version 2 of the License, or (at your option)
12 * These libraries and programs are distributed in the hope that
13 * they will be useful, but WITHOUT ANY WARRANTY; without even the
14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU Lesser General Public License for more
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with these librararies and programs; if not, write
20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21 * Floor, Boston, MA 02110-1301 USA
26 * Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
27 * ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
28 * the full copyright text.
33 /* $TOG: UilDefI.h /main/13 1999/07/07 10:24:15 vipin $ */
36 * (c) Copyright 1989, 1990, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
42 ** User Interface Language Compiler (UIL)
46 ** This include file defines the set of definitions used by all of
47 ** modules of the UIL compiler.
62 #define X_INCLUDE_TIME_H
63 #define XOS_USE_XT_LOCKING
64 #include <X11/Xos_r.h> /* for _Xctimeparams */
66 #include <Mrm/MrmAppl.h>
71 ** Universal Definitions
75 #define _compiler_version "V2.0-000"
76 #define _compiler_version_int 2
77 #define _data_version 2
78 #define _host_compiler "Motif Uil Compiler"
91 #define debug_version FALSE
94 #define NOSTRING_DIRECTION 2
103 ** Copy const handling from XmP.h.
107 #if defined(__STDC__) || !defined( NO_CONST )
108 #define XmConst const
111 #endif /* __STDC__ */
114 /* Uil will automatically strip this prefix when saving name of automatically
115 * created child. This is used to prevent name conflicts in existing uil
116 * files. Children names without this prefix will be saved as is.
118 #define AUTO_CHILD_PREFIX "Xm_"
122 ** Constants controlling limits in the compiler
126 #define src_k_max_source_files 101
127 #define src_k_max_source_line_length 132
128 #define lex_k_unprint_sub '?'
129 #define sym_k_max_list_count 1000
130 #define sym_k_max_color_count 256
131 #define Uil_k_max_include_dir_count 32
135 ** Definition of Compiler Termination Statuses
139 #define uil_k_min_status Uil_k_min_status
140 #define uil_k_success_status Uil_k_success_status
141 #define uil_k_info_status Uil_k_info_status
142 #define uil_k_warning_status Uil_k_warning_status
143 #define uil_k_error_status Uil_k_error_status
144 #define uil_k_severe_status Uil_k_severe_status
145 #define uil_k_max_status Uil_k_max_status
150 ** Macros to access bit vectors
154 /* MOVED TO DBDef.h */
159 ** Upper and Lower Case Translation Macros
163 #define _upper(c) ((c) >= 'a' && (c) <= 'z' ? (c) & 0x5F:(c))
164 #define _lower(c) ((c) >= 'A' && (c) <= 'Z' ? (c) | 0x20:(c))
174 #define _assert( __condition, __text ) \
175 if (!(__condition)) \
176 { diag_issue_internal_error( (__text)); }
178 #define _assert( __condition, __text ) \
179 if (!(__condition)) \
180 { diag_issue_internal_error( NULL ); }
185 ** _error and _okay macro
189 #define _error( __status ) \
192 #define _success( __status ) \
198 ** Memory allocation definitions
202 #define _get_memory XtMalloc
204 #define _free_memory XtFree
213 /* For fixing the bug CR 4581 */
214 extern char* uil_mmove(char*, char*, int);
216 #define _move uil_mmove
218 #define _move memmove
219 #endif /* NO_MEMMOVE */
227 #define _compare strcmp
235 #define _fill( __string, __char, __len ) \
237 register int i = __len; \
239 (__string)[i] = __char; \
248 #define _index( __char, __string, __len ) \
249 ((int)((char *)memchr( __string, __char, __len ) - (char *)__string ))
253 ** Debug output macro
257 #define _debug_output lst_debug_output
259 #define _debug_output printf
265 ** Common includes needed by most modules
269 #include "UilDBDef.h" /* for binary database */
271 #include "UilSymDef.h" /* must come before UilKeyDef.h */
272 #include "UilSrcDef.h" /* must come before UilIODef.h */
273 #include "UilIODef.h"
274 #include "UilDiagDef.h"
275 #include "UilSarDef.h"
277 #define YYSTYPE yystype
279 #include "UilLexPars.h"
280 #include "UilCmdDef.h"
281 #include "UilLexDef.h"
284 ** Global declarations
286 #include "UilSymGl.h"
287 #include "UilCompGl.h"
289 /* Needed for following macro. */
290 #include "UilSymGen.h"
292 #define DEFAULT_TAG uil_charset_names[sym_k_XmFONTLIST_DEFAULT_TAG_charset]
295 ** Function declarations not defined elsewhere
297 #define _ARGUMENTS(arglist) arglist
301 #if defined(__cplusplus) || defined(c_plusplus)
305 extern void diag_issue_diagnostic
306 _ARGUMENTS(( int d_message_number ,
307 src_source_record_type *az_src_rec ,
308 int l_start_column, ... ));
309 extern void lst_debug_output _ARGUMENTS(( char *format, ... ));
312 void cmd_decode_command_line _ARGUMENTS(( int l_arg_count , char *rac_arg_value []));
315 extern void db_incorporate _ARGUMENTS(( void ));
316 extern void db_read_ints_and_string _ARGUMENTS((_db_header_ptr header));
317 extern void db_read_char_table _ARGUMENTS((_db_header_ptr header));
318 extern void db_read_length_and_string _ARGUMENTS((_db_header_ptr header));
319 extern void db_read_int_and_shorts _ARGUMENTS((_db_header_ptr header));
320 extern void db_open_file _ARGUMENTS(( void ));
321 extern String get_root_dir_name _ARGUMENTS(( void ));
322 extern String init_wmd_path _ARGUMENTS((String filename));
325 extern void diag_issue_summary _ARGUMENTS(( void ));
326 extern char *diag_tag_text _ARGUMENTS(( int XmConst b_tag ));
327 extern char *diag_object_text _ARGUMENTS(( int XmConst b_type ));
328 extern char *diag_value_text _ARGUMENTS(( int XmConst b_type ));
329 extern char *diag_charset_text _ARGUMENTS(( int XmConst b_type ));
330 extern void diag_initialize_diagnostics _ARGUMENTS(( void ));
331 extern void diag_restore_diagnostics _ARGUMENTS(( void ));
332 extern void diag_reset_overflow_handler _ARGUMENTS(( void ));
333 extern void diag_handler _ARGUMENTS(( int l_error ));
334 extern void diag_issue_internal_error _ARGUMENTS(( char *error_text ));
335 extern void write_msg_to_standard_error _ARGUMENTS(( XmConst int message_number , XmConst char *src_buffer , XmConst char *ptr_buffer , XmConst char *msg_buffer , XmConst char *loc_buffer ));
336 extern char XmConst *diag_get_message_abbrev _ARGUMENTS(( int d_message_number ));
337 extern void diag_report_status _ARGUMENTS(( void ));
340 extern key_keytable_entry_type *key_find_keyword _ARGUMENTS(( unsigned int symbol_length , char *symbol_ptr ));
341 extern void key_initialize _ARGUMENTS(( void ));
344 extern int yylex _ARGUMENTS(( void ));
345 extern void lex_initialize_analyzer _ARGUMENTS(( void ));
346 extern void Uil_lex_cleanup_analyzer _ARGUMENTS(( void ));
347 extern void lex_issue_error _ARGUMENTS(( int restart_token ));
348 extern void issue_control_char_diagnostic _ARGUMENTS(( unsigned char c_char ));
349 extern void lex_filter_unprintable_chars _ARGUMENTS(( unsigned char *buffer , int length , unsigned long flags ));
350 extern long cvt_ascii_to_long _ARGUMENTS(( unsigned char XmConst *c_text ));
351 extern sym_value_entry_type *create_str_entry _ARGUMENTS(( int l_size , int l_charset , sym_value_entry_type *az_charset_entry ));
354 extern void lst_open_listing _ARGUMENTS(( void ));
355 extern void Uil_lst_cleanup_listing _ARGUMENTS(( void ));
356 extern status create_listing_file _ARGUMENTS(( uil_fcb_type *az_fcb ));
357 extern void lst_output_line _ARGUMENTS(( char *ac_line , boolean v_new_page ));
358 extern char *current_time _ARGUMENTS(( _Xctimeparams *ctime_buf ));
359 extern void lst_output_listing _ARGUMENTS(( void ));
360 extern void lst_output_messages _ARGUMENTS(( src_message_item_type *az_message_item ));
361 extern void lst_output_machine_code _ARGUMENTS(( src_source_record_type *az_src_rec ));
362 extern void lst_output_message_ptr_line _ARGUMENTS(( src_source_record_type *az_src_rec , char *src_buffer ));
365 extern void save_widget_machine_code _ARGUMENTS(( sym_widget_entry_type *widget_entry , URMResourceContext *az_context ));
366 extern void unload_stack _ARGUMENTS(( char *rec , int rec_size , src_source_record_type *az_src_rec ));
367 extern void save_value_machine_code _ARGUMENTS(( sym_value_entry_type *value_entry , URMResourceContext *az_context ));
368 extern void save_module_machine_code _ARGUMENTS(( src_source_record_type *az_src_rec , URMResourceContext *az_context ));
369 extern void off_put _ARGUMENTS(( unsigned short off_type , unsigned short off_offset ));
370 extern void off_get _ARGUMENTS(( unsigned short *off_type , unsigned short *off_offset ));
371 extern char *type_from_code _ARGUMENTS(( MrmType type_code ));
372 extern char *access_from_code _ARGUMENTS(( MrmFlag access_code ));
373 extern char *group_from_code _ARGUMENTS(( MrmGroup group_code ));
374 extern void format_arg_value _ARGUMENTS(( RGMArgValuePtr argval_ptr , char *buffer ));
375 extern char *class_name_from_code _ARGUMENTS(( MrmCode mrm_class ));
376 extern char *resource_name_from_code _ARGUMENTS(( MrmCode resource ));
379 extern void uil_exit _ARGUMENTS(( int severity ));
380 extern Uil_status_type Uil _ARGUMENTS((Uil_command_type
381 *comand_desc,Uil_compile_desc_type *compile_desc,Uil_continue_type
382 (*message_cb)(), char *message_data, Uil_continue_type (*status_cb)(),
387 extern void sem_output_uid_file _ARGUMENTS(( void ));
388 extern void push _ARGUMENTS(( sym_entry_type *sym_entry ));
389 extern sym_entry_type *pop _ARGUMENTS(( void ));
390 extern void out_emit_widget _ARGUMENTS(( sym_widget_entry_type *widget_entry ));
391 extern void extract_subtree_control _ARGUMENTS(( sym_list_entry_type *list_entry , sym_control_entry_type **menu_entry , int *count ));
392 extern void extract_create_callback _ARGUMENTS(( sym_list_entry_type *list_entry , sym_callback_entry_type **create_entry ));
393 extern void process_all_callbacks _ARGUMENTS(( sym_list_entry_type *list_entry , int *arglist_index ));
394 extern void process_all_arguments _ARGUMENTS(( sym_list_entry_type *list_entry , int *arglist_index , int *related_count ));
395 extern void process_all_controls _ARGUMENTS(( sym_list_entry_type *list_entry , int *widget_index ));
396 extern void out_emit_value _ARGUMENTS(( sym_value_entry_type *value_entry ));
397 extern void emit_callback _ARGUMENTS(( sym_callback_entry_type *callback_entry , int *arglist_index , boolean emit_create ));
398 extern void emit_callback_procedures _ARGUMENTS(( sym_proc_ref_entry_type *proc_ref_entry_next, int *proc_ref_index, MrmOffset callback_offset ));
399 extern int count_proc _ARGUMENTS(( sym_list_entry_type *proc_list, int count));
400 extern void emit_argument _ARGUMENTS(( sym_argument_entry_type *argument_entry , int arglist_index , int *related_arg_count ));
401 extern void emit_control _ARGUMENTS(( sym_control_entry_type *control_entry , int control_offset ));
402 extern MrmCode ref_value _ARGUMENTS(( sym_value_entry_type *value_entry , MrmCode *arg_type , long *arg_value , MrmCode *arg_access , char **arg_index , MrmResource_id *arg_id , MrmCode *arg_group ));
403 extern MrmCode ref_control _ARGUMENTS(( sym_control_entry_type *control_entry , MrmCode *access , char **index , MrmResource_id *id ));
404 extern void issue_urm_error _ARGUMENTS(( char *problem ));
405 extern MrmCode Urm_code_from_uil_type _ARGUMENTS(( int uil_type ));
406 extern int compute_color_table_size _ARGUMENTS(( sym_value_entry_type *table_entry ));
407 extern void create_color_table _ARGUMENTS(( sym_value_entry_type *table_entry , char *buffer ));
408 extern int compute_icon_size _ARGUMENTS(( sym_value_entry_type *icon_entry ));
409 extern void create_icon _ARGUMENTS(( sym_value_entry_type *icon_entry , char *buffer ));
410 extern int compute_list_size _ARGUMENTS(( sym_list_entry_type *list_entry , int type ));
411 extern void create_int_compression_codes _ARGUMENTS(( void ));
412 extern void create_ext_compression_codes _ARGUMENTS(( void ));
415 extern void sem_resolve_forward_refs _ARGUMENTS(( void ));
418 extern sym_value_entry_type *sem_create_cstr _ARGUMENTS(( void ));
419 extern sym_value_entry_type *sem_create_wchar_str _ARGUMENTS(( void ));
420 extern void sem_append_str_to_cstr _ARGUMENTS(( sym_value_entry_type *az_cstr_entry , sym_value_entry_type *az_str_entry , boolean op2_temporary ));
421 extern void sem_append_cstr_to_cstr _ARGUMENTS(( sym_value_entry_type *az_cstr1_entry , sym_value_entry_type *az_cstr2_entry , boolean op2_temporary ));
422 extern sym_value_entry_type *sem_cat_str_to_str _ARGUMENTS(( sym_value_entry_type *az_str1_entry , boolean op1_temporary , sym_value_entry_type *az_str2_entry , boolean op2_temporary ));
423 extern int sem_map_subclass_to_charset _ARGUMENTS(( int charset_as_subclass ));
424 extern void sar_charset_verify _ARGUMENTS(( yystype *charset_frame ));
425 extern void sar_make_fallback_charset _ARGUMENTS((yystype *name_frame));
426 extern void sar_chk_charset_attr _ARGUMENTS(( yystype *target_frame , yystype *value_frame , yystype *prior_value_frame ));
427 extern void sar_make_charset _ARGUMENTS(( yystype *target_frame , yystype *value_frame , yystype *attr_frame , yystype *keyword_frame ));
430 extern void sar_binary_op _ARGUMENTS(( yystype *operator_frame , yystype *op1_frame , yystype *op2_frame ));
431 extern void sar_unary_op _ARGUMENTS(( yystype *operator_frame , yystype *op1_frame ));
434 extern void sar_include_file _ARGUMENTS(( yystype *file_frame , yystype *include_frame , yystype *semi_frame ));
437 extern void sar_initialize _ARGUMENTS(( void ));
438 extern void sar_create_root _ARGUMENTS(( yystype *root_frame ));
439 extern void sar_create_module _ARGUMENTS(( yystype *target_frame , yystype *id_frame , yystype *module_frame ));
440 extern void sar_process_module_version _ARGUMENTS(( yystype *value_frame , yystype *start_frame ));
441 extern void sar_process_module_sensitivity _ARGUMENTS(( yystype *token_frame , yystype *start_frame ));
442 extern void sar_process_module_charset _ARGUMENTS(( yystype *token_frame , yystype *start_frame ));
443 extern void sar_save_module_source _ARGUMENTS(( void ));
444 extern void sar_make_def_obj _ARGUMENTS(( yystype *object_frame ));
445 extern void sar_process_module_variant _ARGUMENTS(( yystype *obj_type_frame , yystype *variant_frame ));
446 extern void sar_save_section_source _ARGUMENTS(( yystype *header_frame , int section_type ));
449 extern void sar_assoc_comment _ARGUMENTS(( sym_obj_entry_type *object ));
450 extern void sar_create_object _ARGUMENTS(( yystype *object_frame , unsigned char object_type ));
451 extern void sar_create_child _ARGUMENTS(( yystype *object_frame ));
452 extern void sar_link_section _ARGUMENTS(( yystype *id_frame ));
453 extern void sar_save_src_semicolon_pos _ARGUMENTS(( yystype *semi_frame ));
454 extern void sar_save_list_end _ARGUMENTS(( yystype *close_frame ));
455 extern void sar_save_src_entry_end _ARGUMENTS(( yystype *close_frame , yystype *entry_frame ));
456 extern void sar_set_object_flags _ARGUMENTS(( yystype *current_frame , unsigned char mask ));
457 extern void sar_unset_object_flags _ARGUMENTS(( yystype *current_frame , unsigned char mask ));
458 extern void sar_set_list_type _ARGUMENTS(( yystype *current_frame ));
459 extern void sar_set_object_class _ARGUMENTS(( yystype *current_frame ));
460 extern void sar_set_object_variant _ARGUMENTS(( yystype *current_frame ));
461 extern yystype *sem_find_object _ARGUMENTS(( yystype *current_frame ));
462 extern void sar_object_reference _ARGUMENTS(( yystype *ref_frame ));
463 extern void sar_update_parent_list _ARGUMENTS(( yystype *control_list_frame ));
464 extern void parent_list_traverse _ARGUMENTS(( sym_widget_entry_type *widget_entry , sym_list_entry_type *control_list_entry ));
465 extern void sar_save_feature _ARGUMENTS(( yystype *feature_frame ));
466 extern void sar_save_argument_pair _ARGUMENTS(( yystype *argument_frame , yystype *value_frame , yystype *equals_frame ));
467 extern void sar_save_reason_binding _ARGUMENTS(( yystype *reason_frame , yystype *proc_ref_frame , yystype *equals_frame ));
468 extern void sar_save_control_item _ARGUMENTS(( yystype *managed_frame , yystype *item_frame ));
469 extern void sar_save_control_widget _ARGUMENTS(( yystype *control_frame , yystype *item_frame ));
470 extern void sar_save_user_proc_ref_src _ARGUMENTS(( yystype *procedure_frame , yystype *proc_id_frame , yystype *proc_arg_frame ));
471 extern void sar_process_proc_ref _ARGUMENTS(( yystype *proc_id_frame , yystype *proc_arg_frame , int context ));
472 extern void sar_add_list_entry _ARGUMENTS(( yystype *entry_frame ));
473 extern void sar_add_forward_list_entry _ARGUMENTS(( yystype *entry_frame ));
474 extern void sar_verify_object _ARGUMENTS(( yystype *current_frame ));
475 extern sym_entry_type *sem_allocate_node _ARGUMENTS(( unsigned char node_tag , unsigned short node_size ));
476 extern void sem_free_node _ARGUMENTS(( sym_entry_type *node_ptr ));
479 extern void sar_create_procedure _ARGUMENTS(( XmConst yystype *id_frame , XmConst yystype *param_frame , XmConst yystype *class_frame , XmConst yystype *semi_frame ));
480 extern sym_proc_ref_entry_type *sem_reference_procedure _ARGUMENTS(( yystype *id_frame , XmConst yystype *value_frame , XmConst int context ));
481 extern sym_entry_type *sem_ref_name _ARGUMENTS(( yystype *id_frame , XmConst int tag ));
484 extern void sar_map_keyword_to_name _ARGUMENTS(( yystype *target_frame , yystype *keyword_frame ));
485 extern void sar_process_id _ARGUMENTS(( yystype *target_frame , yystype *id_frame ));
486 extern void sar_process_id_ref _ARGUMENTS(( yystype *id_frame ));
487 extern void sar_make_private_value _ARGUMENTS(( yystype *value_frame , yystype *token_frame , int value_type , yystype *keyword_frame , int arg_type ));
488 extern void sar_make_rgb_private_value _ARGUMENTS(( yystype *value_frame , yystype *token_frame , int value_type , yystype *keyword_frame , int arg_type ));
489 extern void sar_append_table_value _ARGUMENTS(( yystype *value_frame , yystype *table_frame , int table_type , yystype *comma_frame ));
490 extern void sar_value_not_implemented _ARGUMENTS(( yystype *value_frame , yystype *token_frame , char *error_text ));
491 extern void sar_cat_value _ARGUMENTS(( yystype *operator_frame , yystype *op1_frame , yystype *op2_frame ));
492 extern void sar_chk_comp_str_attr _ARGUMENTS(( yystype *target_frame , yystype *value_frame , yystype *prior_value_frame ));
493 extern void sar_make_comp_str _ARGUMENTS(( yystype *target_frame , yystype *value_frame , yystype *attr_frame , yystype *keyword_frame ));
494 extern void sar_make_comp_str_comp _ARGUMENTS((yystype *target_frame, yystype *type_frame, yystype *value_frame, yystype *keyword_frame));
495 extern void sar_make_wchar_str _ARGUMENTS(( yystype *target_frame , yystype *value_frame , yystype *attr_frame , yystype *keyword_frame ));
496 extern void sar_value_type_error _ARGUMENTS(( yystype *value_frame , int expected_type ));
497 extern void sar_private_error _ARGUMENTS(( yystype *value_frame ));
498 extern void sar_import_value_entry _ARGUMENTS(( yystype *target_frame , yystype *token_frame ));
499 extern void sar_bind_value_name _ARGUMENTS(( yystype *id_frame , yystype *value_frame , yystype *semi_frame ));
500 extern sym_name_entry_type *sem_dcl_name _ARGUMENTS(( XmConst yystype *id_frame ));
501 extern sym_value_entry_type *sem_create_value_entry _ARGUMENTS(( char *value , int length , int value_type ));
502 extern void sar_create_identifier _ARGUMENTS(( XmConst yystype *id_frame , XmConst yystype *semi_frame ));
503 extern void sar_make_font_table _ARGUMENTS(( yystype *target_frame , yystype *font_frame , yystype *prior_target_frame , yystype *keyword_frame ));
504 extern void sar_make_font_item _ARGUMENTS(( yystype *target_frame , yystype *charset_frame , yystype *font_frame ));
505 extern void sar_make_font _ARGUMENTS(( yystype *target_frame , yystype *charset_frame , yystype *value_frame , yystype *keyword_frame ));
506 extern void sar_make_fontset _ARGUMENTS(( yystype *target_frame , yystype *charset_frame , yystype *value_frame , yystype *keyword_frame ));
507 extern void sar_make_color_item _ARGUMENTS(( yystype *target_frame , yystype *color_frame , yystype *letter_frame ));
508 extern void sar_append_color_item _ARGUMENTS(( yystype *target_frame , yystype *item_frame , yystype *prior_target_frame ));
509 extern void sar_make_color_table _ARGUMENTS(( yystype *target_frame , yystype *list_frame , yystype *keyword_frame ));
510 extern void sar_make_color _ARGUMENTS(( yystype *target_frame , yystype *color_frame , yystype *mono_frame , yystype *keyword_frame ));
511 extern void sar_make_icon _ARGUMENTS(( yystype *target_frame , yystype *list_frame , yystype *table_frame , yystype *keyword_frame ));
514 extern char *sem_charset_name _ARGUMENTS(( int l_charset , sym_value_entry_type *az_charset_entry ));
515 extern void sem_charset_info _ARGUMENTS(( int l_charset , sym_value_entry_type *az_charset_entry , int *write_direction , int *parse_direction , int *sixteen_bit ));
516 extern int sem_charset_lang_name _ARGUMENTS(( char *lang_charset ));
520 boolean boolean_value;
523 char character_value; /* character data type RAP */
524 float single_float_value; /* single float data type RAP */
527 extern void sem_validation _ARGUMENTS(( void ));
528 extern void sem_validate_node _ARGUMENTS(( sym_entry_type *node ));
529 extern sym_value_entry_type *sem_validate_value_node _ARGUMENTS(( sym_value_entry_type *value_node ));
530 extern void sem_validate_widget_node _ARGUMENTS(( sym_widget_entry_type *widget_node ));
531 extern void sem_validate_argument_list _ARGUMENTS(( sym_widget_entry_type *widget_node , unsigned int widget_type , sym_list_entry_type *list_entry , sym_argument_entry_type **seen ));
532 extern void sem_validate_argument_entry _ARGUMENTS(( sym_widget_entry_type *widget_node , unsigned int widget_type , sym_list_entry_type *list_entry , sym_argument_entry_type *argument_entry , sym_argument_entry_type **seen ));
533 extern void sem_validate_argument_enumset _ARGUMENTS(( sym_argument_entry_type *argument_entry , int arg_code , sym_value_entry_type *arg_value_entry ));
534 extern void sem_validate_constraint_entry _ARGUMENTS(( sym_widget_entry_type *widget_node , sym_argument_entry_type *argument_entry, unsigned int widget_type ));
535 extern void sem_validate_callback_list _ARGUMENTS(( sym_widget_entry_type *widget_node , unsigned int widget_type , sym_list_entry_type *list_entry , sym_callback_entry_type **seen ));
536 extern void sem_validate_callback_entry _ARGUMENTS(( sym_widget_entry_type *widget_node , unsigned int widget_type , sym_list_entry_type *list_entry , sym_callback_entry_type *callback_entry , sym_callback_entry_type **seen ));
537 extern void sem_validate_control_list _ARGUMENTS(( sym_widget_entry_type *widget_node , unsigned int widget_type , sym_list_entry_type *list_entry , int *count ));
538 extern void sem_validate_control_entry _ARGUMENTS(( sym_widget_entry_type *widget_node , unsigned int widget_type , sym_list_entry_type *list_entry , sym_control_entry_type *control_entry , int *gadget_count ));
539 extern void sem_validate_widget_cycle _ARGUMENTS(( sym_list_entry_type *list_entry , sym_name_entry_type *cycle_name ));
540 extern boolean sem_validate_widget_cycle_aux _ARGUMENTS(( sym_list_entry_type *list_entry , sym_name_entry_type *cycle_name ));
541 extern boolean sem_validate_verify_cycle _ARGUMENTS(( sym_widget_entry_type *cycle_obj , sym_list_entry_type *list_entry ));
542 extern void sem_validate_procref_list _ARGUMENTS(( sym_list_entry_type *list_entry ));
543 extern void sem_validate_procref_entry _ARGUMENTS(( sym_proc_ref_entry_type *procref_entry ));
544 extern boolean sem_argument_allowed _ARGUMENTS(( unsigned int arg_code , unsigned int class_code ));
545 extern boolean sem_reason_allowed _ARGUMENTS(( unsigned int rsn_code , unsigned int class_code ));
546 extern boolean sem_control_allowed _ARGUMENTS(( unsigned int ctl_code , unsigned int class_code ));
547 extern boolean sem_child_allowed _ARGUMENTS(( unsigned int ctl_code , unsigned int class_code ));
548 extern sym_value_entry_type *sem_evaluate_value _ARGUMENTS(( sym_value_entry_type *val_entry ));
549 extern sym_value_entry_type *sem_evaluate_value_cs _ARGUMENTS(( sym_value_entry_type *csval_entry ));
550 /* BEGIN OSF Fix CR 4859 */
551 /* END OSF Fix CR 4859 */
552 extern sym_value_entry_type *sem_evaluate_value_expr _ARGUMENTS(( sym_value_entry_type *value_entry ));
553 extern int validate_arg _ARGUMENTS(( sym_value_entry_type *operand_entry , int v_operator ));
554 extern int sem_convert_to_float _ARGUMENTS(( sym_value_entry_type *operand_entry , data_value_type *data_value ));
555 extern int sem_convert_to_integer _ARGUMENTS(( sym_value_entry_type *operand_entry , data_value_type *data_value ));
556 extern int sem_convert_to_single_float _ARGUMENTS(( sym_value_entry_type *operand_entry , data_value_type *data_value ));
557 extern int sem_convert_to_error _ARGUMENTS(( sym_value_entry_type *operand_entry , data_value_type *data_value ));
558 extern void sar_cat_value_entry _ARGUMENTS(( sym_value_entry_type **target_entry , sym_value_entry_type *op1_entry , sym_value_entry_type *op2_entry ));
561 extern void src_initialize_source _ARGUMENTS(( void ));
562 extern void Uil_src_cleanup_source _ARGUMENTS(( void ));
563 extern void src_open_file _ARGUMENTS(( XmConst char *c_file_name , char *full_file_name ));
564 extern status src_get_source_line _ARGUMENTS(( void ));
565 extern status open_source_file _ARGUMENTS(( XmConst char *c_file_name , uil_fcb_type *az_fcb , src_source_buffer_type *az_source_buffer ));
566 extern status close_source_file _ARGUMENTS(( uil_fcb_type *az_fcb ));
567 extern status get_line _ARGUMENTS(( uil_fcb_type *az_fcb ));
568 extern boolean reget_line _ARGUMENTS(( uil_fcb_type *az_fcb , char *c_buffer , XmConst z_key *z_access_key ));
569 extern char *src_get_file_name _ARGUMENTS(( XmConst src_source_record_type *az_src_rec ));
570 extern boolean src_retrieve_source _ARGUMENTS(( XmConst src_source_record_type *az_src_rec , char *c_buffer ));
571 extern void src_append_diag_info _ARGUMENTS(( XmConst src_source_record_type *az_src_rec , XmConst int l_src_pos , XmConst char *c_msg_text , XmConst int l_msg_number ));
572 extern void src_append_machine_code _ARGUMENTS(( src_source_record_type *az_src_rec , XmConst int l_offset , XmConst int l_code_len , XmConst char *c_code , XmConst char *c_text_arg ));
575 extern sym_name_entry_type *sym_find_name _ARGUMENTS(( int l_length , char *c_text ));
576 extern sym_name_entry_type *sym_insert_name _ARGUMENTS(( int l_length , char *c_text ));
577 extern int hash_function _ARGUMENTS(( int l_length , char *c_value ));
579 extern void sym_dump_hash_table _ARGUMENTS(( void ));
583 extern void sym_initialize_storage _ARGUMENTS(( void ));
584 extern void Uil_sym_cleanup_storage _ARGUMENTS(( boolean freealloc ));
585 extern void sym_make_external_def _ARGUMENTS(( XmConst sym_name_entry_type *az_name ));
586 extern void sym_make_forward_ref _ARGUMENTS(( XmConst yystype *az_id_frame , XmConst int l_widget_type , XmConst char *a_location ));
587 extern void sym_make_value_forward_ref _ARGUMENTS(( XmConst yystype *az_value_frame , XmConst char *a_location , XmConst unsigned char fwd_ref_flags ));
588 extern void UilDumpSymbolTable _ARGUMENTS(( sym_entry_type *node_entry ));
589 extern void sym_dump_symbols _ARGUMENTS(( void ));
590 extern void sym_dump_symbol _ARGUMENTS(( sym_entry_type *az_symbol_entry ));
591 extern void sym_dump_widget _ARGUMENTS(( XmConst sym_widget_entry_type *az_widget_entry ));
592 extern void sym_dump_argument _ARGUMENTS(( XmConst sym_argument_entry_type *az_argument_entry ));
593 extern void sym_dump_control _ARGUMENTS(( XmConst sym_control_entry_type *az_control_entry ));
594 extern void sym_dump_callback _ARGUMENTS(( XmConst sym_callback_entry_type *az_callback_entry ));
595 extern void sym_dump_list _ARGUMENTS(( XmConst sym_list_entry_type *az_list_entry ));
596 extern void sym_dump_name _ARGUMENTS(( XmConst sym_name_entry_type *az_name_entry ));
597 extern void sym_dump_module _ARGUMENTS(( XmConst sym_module_entry_type *az_module_entry ));
598 extern void sym_dump_color_item _ARGUMENTS(( XmConst sym_color_item_entry_type *az_color_item_entry ));
599 extern void sym_dump_parent_list_item _ARGUMENTS(( XmConst sym_parent_list_type *az_parent_list_item ));
600 extern void sym_dump_external_def _ARGUMENTS(( XmConst sym_external_def_entry_type *az_external_def_entry ));
601 extern void sym_dump_proc_def _ARGUMENTS(( XmConst sym_proc_def_entry_type *az_proc_def_entry ));
602 extern void sym_dump_proc_ref _ARGUMENTS(( XmConst sym_proc_ref_entry_type *az_proc_ref_entry ));
603 extern void sym_dump_forward_ref _ARGUMENTS(( XmConst sym_forward_ref_entry_type *az_forward_ref_entry ));
604 extern void sym_dump_value _ARGUMENTS(( XmConst sym_value_entry_type *az_value_entry ));
605 extern void output_text _ARGUMENTS(( XmConst int length , XmConst char *text ));
606 extern void sym_dump_source_info _ARGUMENTS(( sym_entry_header_type *hdr ));
607 extern void sym_dump_obj_header _ARGUMENTS(( XmConst sym_obj_entry_type *az_obj_entry ));
608 extern void sym_dump_include_file _ARGUMENTS(( sym_include_file_entry_type *az_symbol_entry ));
609 extern void sym_dump_section _ARGUMENTS(( sym_section_entry_type *az_symbol_entry ));
610 extern void sym_dump_object_variant _ARGUMENTS(( sym_def_obj_entry_type *az_symbol_entry ));
611 extern void sym_dump_root_entry _ARGUMENTS(( sym_root_entry_type *az_symbol_entry ));
612 extern char *sym_section_text _ARGUMENTS(( int b_type ));
613 extern void dump_free_list _ARGUMENTS(( void ));
615 #if defined(__cplusplus) || defined(c_plusplus)
619 #endif /* UilDefI_h */
620 /* DON'T ADD STUFF AFTER THIS #endif */