Main Page | Modules | Files | Functions | Code Elements | Data Structures | Deprecated

bom/bom_tokens.h

Go to the documentation of this file.
00001 /*==============================================================================
00002                 Copyright (c) 2003-2005 UGS Corporation
00003                    Unpublished - All Rights Reserved
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,         /* OVESelOptionSet::Fixed */
00099      BOM_option_fixed_by_user, /* OVESelOptionSet::UserFixed */
00100      BOM_option_variant_item,   /* OVESelOptionSet::VariantItem */
00101      BOM_option_external        /* OVESelOptionSet::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