00001
00002
00003
00004
00005
00012
00013
00014 #ifndef BOM_TOKENS_H
00015 #define BOM_TOKENS_H
00016
00017 #include <unidefs.h>
00018 #include <ps/ps_tokens.h>
00019 #include <bom/libbom_exports.h>
00020
00031 #define BOM_WINDOW_STATE_PACK_ALL 1
00032 #define BOM_WINDOW_STATE_SHOW_VARIANTS 2
00033 #define BOM_WINDOW_STATE_SHOW_UNCONFIG 3
00034 #define BOM_WINDOW_STATE_SHOW_ALTS 4
00035
00038 #define BOM_option_mode_int PS_variant_option_mode_unknown
00039
00041 #define BOM_option_mode_enum PS_variant_option_mode_dynamic_comparison
00042 #define BOM_variant_op_rhs_is_string PS_variant_op_rhs_is_string
00043 #define BOM_variant_operator_declare PS_variant_operator_declare
00044 #define BOM_variant_operator_assy_uses PS_variant_operator_assy_uses
00045 #define BOM_variant_operator_assign PS_variant_operator_assign
00046 #define BOM_variant_operator_default PS_variant_operator_default
00047 #define BOM_variant_operator_is_equal PS_variant_operator_is_equal
00048 #define BOM_variant_operator_not_equal PS_variant_operator_not_equal
00049 #define BOM_variant_operator_error_if PS_variant_operator_error_if
00050 #define BOM_variant_operator_comment PS_variant_operator_comment
00051 #define BOM_variant_operator_load_if PS_variant_operator_load_if
00052 #define BOM_variant_operator_and PS_variant_operator_and
00053 #define BOM_variant_operator_or PS_variant_operator_or
00054 #define BOM_variant_operator_if PS_variant_operator_if
00055
00057 #define BOM_variant_operator_gt PS_variant_operator_gt
00058
00060 #define BOM_variant_operator_lt PS_variant_operator_lt
00061
00063 #define BOM_variant_operator_gt_eq PS_variant_operator_gt_eq
00064
00066 #define BOM_variant_operator_lt_eq PS_variant_operator_lt_eq
00067
00068 #define BOM_variant_operator_brackets PS_variant_operator_brackets
00069
00071 #define BOM_variant_operator_rule_set PS_variant_operator_rule_set
00072
00074 #define BOM_variant_operator_named_expr PS_variant_operator_named_expr
00075
00077 #define BOM_variant_operator_meta_expr PS_variant_operator_meta_expr
00078
00080 #define BOM_variant_operator_nve_ref PS_variant_operator_nve_ref
00081
00083 #define BOM_variant_operator_not PS_variant_operator_not
00084
00085
00090 typedef enum
00091 {
00092 BOM_option_unset,
00093 BOM_option_unset_derivable,
00094 BOM_option_derived,
00095 BOM_option_defaulted,
00096 BOM_option_set_by_user,
00097 BOM_option_set_by_rule,
00098 BOM_option_fixed,
00099 BOM_option_fixed_by_user,
00100 BOM_option_variant_item,
00101 BOM_option_external
00102 } BOM_option_how_set_t;
00103
00104 typedef BOM_option_how_set_t OptionHowSet_e;
00105 #define OPTION_UNSET BOM_option_unset
00106 #define OPTION_UNSET_DERIVABLE BOM_option_unset_derivable
00107 #define OPTION_DERIVED BOM_option_derived
00108 #define OPTION_DEFAULTED BOM_option_defaulted
00109 #define OPTION_SET_BY_USER BOM_option_set_by_user
00110 #define OPTION_SET_BY_RULE BOM_option_set_by_rule
00111 #define OPTION_SET_EXTERNAL BOM_option_external
00112
00117 #define BOM_LINE_FORCE_NONE 0
00118 #define BOM_LINE_FORCE_CONFIGURE_IN 1
00119 #define BOM_LINE_FORCE_CONFIGURE_OUT 2
00120
00126 #define BOM_LINE_VARIANT_NONE 0
00127 #define BOM_LINE_VARIANT_LOADED 1
00128 #define BOM_LINE_VARIANT_SUPPRESSED 2
00129 #define BOM_LINE_VARIANT_UNDEFINED 3
00130
00139 extern BOM_API const char* const BOM_std_compare_single_level_name;
00140 extern BOM_API const char* const BOM_std_compare_single_level_seq_name;
00141 extern BOM_API const char* const BOM_std_compare_lowest_level_name;
00142 extern BOM_API const char* const BOM_std_compare_lowest_level_seq_name;
00143 extern BOM_API const char* const BOM_std_compare_var_level_name;
00144 extern BOM_API const char* const BOM_std_compare_var_level_seq_name;
00145 extern BOM_API const char* const BOM_std_compare_ext_var_level_name;
00146 extern BOM_API const char* const BOM_std_compare_ext_var_level_seq_name;
00147 extern BOM_API const char* const LBOM_std_compare_var_level_name;
00148 extern BOM_API const char* const LBOM_std_compare_single_level_name;
00149 extern BOM_API const char* const LBOM_std_compare_lowest_level_name;
00150 extern BOM_API const char* const LBOM_std_compare_var_level_occ_name;
00151 extern BOM_API const char* const LBOM_std_compare_single_level_occ_name;
00167 #define BOM_compare_singlelevel 0
00168 #define BOM_compare_lowestlevel 1
00169 #define BOM_compare_multilevel 2
00170
00175 #define BOM_compare_extmultilevel 3
00176
00179 #define BOM_compare_everylevel 4
00180
00189 #define BOM_compare_output_bomline 1
00190 #define BOM_compare_output_userexit 2
00191 #define BOM_compare_output_report 4
00192
00208 #define BOM_compare_display_aggregate 0
00209
00213 #define BOM_compare_stop_if_diff 1
00214
00221 #define BOM_compare_dont_report_adds 2
00222
00229 #define BOM_cmp_diff_add 1
00230 #define BOM_cmp_diff_qty 2
00231 #define BOM_cmp_diff_rev 4
00232 #define BOM_cmp_diff_chg 8
00233
00243 #define BOM_cmp_no_diff(FLAGS) ((FLAGS)==0)
00244
00253 #define BOM_cmp_added(FLAGS) (((FLAGS)&(BOM_cmp_diff_add))!=0)
00254
00263 #define BOM_cmp_chg_qty(FLAGS) (((FLAGS)&(BOM_cmp_diff_qty))!=0)
00264
00271 #define BOM_cmp_chg_rev(FLAGS) (((FLAGS)&(BOM_cmp_diff_rev))!=0)
00272
00273 #define BOM_cmp_changed(FLAGS) (((FLAGS)&(BOM_cmp_diff_chg))!=0)
00274
00279 #define BOM_cmp_asreq(Q) (((Q)>(-1.5))&&((Q)<(-0.5)))
00280 #define BOM_cmp_undef(Q) (((Q)>(-2.5))&&((Q)<(-1.5)))
00281
00288 typedef int (BOM_compare_engine_visitor_t)(
00289 tag_t bomcompareengine,
00290 tag_t compareset,
00291 int depth,
00292 void* user_data
00293 );
00294
00295 typedef int (BOM_compare_set_visitor_t)(
00296 tag_t compareset,
00297 int depth,
00298 void* user_data
00299 );
00300
00307 #define BOM_vc_op_details 1
00308 #define BOM_vc_op_append 2
00309 #define BOM_vc_op_insert 4
00310 #define BOM_vc_op_replace 8
00311 #define BOM_vc_op_delete 16
00312 #define BOM_vc_op_mv_up 32
00313 #define BOM_vc_op_mv_dn 64
00314 #define BOM_vc_op_add_brackets 128
00315 #define BOM_vc_op_rm_brackets 256
00316
00332 #define BOM_variant_clause_op_details(OP_FLAGS) (((OP_FLAGS)&BOM_vc_op_details) != 0)
00333
00334
00335 #define BOM_variant_clause_op_append(OP_FLAGS) (((OP_FLAGS)&BOM_vc_op_append) != 0)
00336
00350 #define BOM_variant_clause_op_insert(OP_FLAGS) (((OP_FLAGS)&BOM_vc_op_insert) != 0)
00351
00365 #define BOM_variant_clause_op_replace(OP_FLAGS) (((OP_FLAGS)&BOM_vc_op_replace) != 0)
00366
00380 #define BOM_variant_clause_op_delete(OP_FLAGS) (((OP_FLAGS)&BOM_vc_op_delete) != 0)
00381
00395 #define BOM_variant_clause_op_mv_up(OP_FLAGS) (((OP_FLAGS)&BOM_vc_op_mv_up) != 0)
00396
00410 #define BOM_variant_clause_op_mv_dn(OP_FLAGS) (((OP_FLAGS)&BOM_vc_op_mv_dn) != 0)
00411
00430 #define BOM_variant_clause_op_add_brackets(OP_FLAGS) (((OP_FLAGS)&BOM_vc_op_add_brackets) != 0)
00431
00450 #define BOM_variant_clause_op_rm_brackets(OP_FLAGS) (((OP_FLAGS)&BOM_vc_op_rm_brackets) != 0)
00451
00455 typedef enum
00456 {
00457 BOM_variant_rule_src,
00458 BOM_variant_rule_src_and_dest,
00459 BOM_variant_rule_dest
00460 } BOM_variant_rule_copy_action_t;
00461
00466 #define BOM_line_loaded 0
00467 #define BOM_line_remote 1
00468 #define BOM_line_no_read_access 2
00469
00477 #define BOM_OVE_ENUM_VALUE 1
00478
00482 #define BOM_OVE_MIN_INC_VALUE 2
00483
00487 #define BOM_OVE_MAX_INC_VALUE 3
00488
00492 #define BOM_OVE_MIN_VALUE 4
00493
00497 #define BOM_OVE_MAX_VALUE 5
00498
00502 #define BOM_OVE_RANGE_VALUE 6
00503
00504 #define BOM_OVE_INFO 0
00505 #define BOM_OVE_WARN 1
00506 #define BOM_OVE_ERROR 2
00507 #define BOM_OVE_IGNORE_ALL 9999
00508
00514 #define BOM_OVE_DEFAULT 0
00515 #define BOM_OVE_USERSET 1
00516 #define BOM_OVE_SET 2
00517 #define BOM_OVE_USERFIXED 3
00518 #define BOM_OVE_FIXED 4
00519 #define BOM_OVE_EXTERNAL 5
00520 #define BOM_OVE_VARIANTITEM 6
00521 #define BOM_OVE_LEGACY 100
00522
00528 #define BOM_OVE_UNSET 0
00529 #define BOM_OVE_BOOL 1
00530 #define BOM_OVE_INT 2
00531 #define BOM_OVE_REAL 3
00532 #define BOM_OVE_STRING 4
00533
00538 #define BOM_OVE_PRES_OPTION_NOT_CHILD 0
00539
00543 #define BOM_OVE_PRES_OPTION_NO_PATH 1
00544
00548 #define BOM_OVE_MODULE_MVL_OUT_OF_SCOPE_OPTION 2
00549
00553 #define BOM_OVE_CONDITION_OUT_OF_SCOPE_OPTION 3
00554
00555
00560 #define BOM_VARIANT_CONFIG_REF 0
00561 #define BOM_VARIANT_CONFIG_COPY 1
00562 #define BOM_VARIANT_CONFIG_MANAGED 2
00563 #define BOM_VARIANT_CONFIG_DEEP 4
00564
00570 #define BOM_DB_SOS_OP_LIKE 0
00571 #define BOM_DB_SOS_OP_NOT_LIKE 1
00572 #define BOM_DB_SOS_OP_EQ 2
00573 #define BOM_DB_SOS_OP_NE 3
00574 #define BOM_DB_SOS_OP_LT 4
00575 #define BOM_DB_SOS_OP_GT 5
00576 #define BOM_DB_SOS_OP_LTEQ 6
00577 #define BOM_DB_SOS_OP_GTEQ 7
00578 #define BOM_DB_SOS_OP_IN 8
00579 #define BOM_DB_SOS_OP_OUT 9
00580
00586 #define BOM_DB_SOS_UNDEFINED_OPTION 0
00587 #define BOM_DB_SOS_MODULAR_OPTION 1
00588 #define BOM_DB_SOS_LEGACY_OPTION 2
00589
00595 #define BOM_DB_SOS_UNDEFINED 0
00596 #define BOM_DB_SOS_LOGICAL 1
00597 #define BOM_DB_SOS_INTEGER 2
00598 #define BOM_DB_SOS_DOUBLE 3
00599 #define BOM_DB_SOS_STRING 4
00600
00606 #define BOM_DB_SOS_SET 0
00607 #define BOM_DB_SOS_FIXED 1
00608 #define BOM_DB_SOS_INFO 2
00609
00619 typedef struct BOM_bomset_input_info {
00620 tag_t** bomset_lines_chain;
00621 int** bomset_line_chain_count;
00622 int** bomset_rollup_numbers;
00623 int* num_bomset_chains;
00624 } BOM_bomset_input_info_t;
00625
00633 typedef enum BOM_bomset_criteria_e {
00634 BOMSET_avl_sys_memory_limit = 1,
00635 BOMSET_max_lines = 2,
00636 BOMSET_percent_struct_size = 4
00637 } BOM_bomset_criteria_t;
00638
00647 typedef struct BOM_bomset_create_criteria {
00648 int criteria_type;
00649 int max_lines_in_bomset;
00650 int percentage_struct_size_bomset;
00651 } BOM_bomset_create_criteria_t;
00652
00659 typedef struct BOM_bomset_output_info {
00660 tag_t* bomset_expanded_lines;
00661 int* bomset_expanded_line_count;
00662 } BOM_bomset_output_info_t;
00663
00666 #include <bom/libbom_undef.h>
00667 #endif