00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00026 #ifndef HH_SENF_Packets_ParseHelpers_
00027 #define HH_SENF_Packets_ParseHelpers_ 1
00028
00029 #ifndef HH_SENF_Packets_Packets_
00030 #error "Don't include 'ParseHelpers.hh' directly, include 'Packets.hh'"
00031 #endif
00032
00033
00034
00035
00036 #include "ParseHelpers.ih"
00037
00038
00281
00282
00283
00285
00286
00302 #define SENF_FIXED_PARSER() SENF_ABSOLUTE_INCLUDE_PATH(Packets/parse_fixed_setup.hh)
00303
00319 #define SENF_PARSER() SENF_ABSOLUTE_INCLUDE_PATH(Packets/parse_setup.hh)
00320
00340 #define SENF_PARSER_INIT() void init(int) const
00341
00342 #ifdef DOXYGEN
00343
00363 #define SENF_PARSER_INHERIT(base)
00364
00387 #define SENF_PARSER_FINALIZE(name)
00388
00389
00390
00392
00393
00427 #define SENF_PARSER_FIELD(name, type)
00428
00442 #define SENF_PARSER_FIELD_RO(name, type)
00443
00452 #define SENF_PARSER_PRIVATE_FIELD(name, type)
00453
00483 #define SENF_PARSER_CUSTOM_FIELD(name, type, size)
00484
00485
00486
00488
00489
00515 #define SENF_PARSER_BITFIELD(name, bits, type)
00516
00524 #define SENF_PARSER_BITFIELD_RO(name, bits, type)
00525
00534 #define SENF_PARSER_PRIVATE_BITFIELD(name, bits, type)
00535
00536
00537
00539
00540
00560 #define SENF_PARSER_SKIP(skip)
00561
00570 #define SENF_PARSER_SKIP_BITS(bits)
00571
00586 #define SENF_PARSER_GOTO(name)
00587
00604 #define SENF_PARSER_GOTO_OFFSET(offset)
00605
00619 #define SENF_PARSER_LABEL(name)
00620
00632 #define SENF_PARSER_OFFSET(name)
00633
00648 #define SENF_PARSER_FIXED_OFFSET(name)
00649
00663 #define SENF_PARSER_CURRENT_FIXED_OFFSET()
00664
00665
00666
00667 #else
00668
00669 #define SENF_PARSER_INHERIT BOOST_PP_CAT( SENF_PARSER_INHERIT_, SENF_PARSER_TYPE )
00670
00671 #define SENF_PARSER_FIELD BOOST_PP_CAT( SENF_PARSER_FIELD_, SENF_PARSER_TYPE )
00672 #define SENF_PARSER_FIELD_RO BOOST_PP_CAT( SENF_PARSER_FIELD_RO_, SENF_PARSER_TYPE )
00673 #define SENF_PARSER_BITFIELD BOOST_PP_CAT( SENF_PARSER_BITFIELD_, SENF_PARSER_TYPE )
00674 #define SENF_PARSER_BITFIELD_RO BOOST_PP_CAT( SENF_PARSER_BITFIELD_RO_, SENF_PARSER_TYPE )
00675 #define SENF_PARSER_CUSTOM_FIELD BOOST_PP_CAT( SENF_PARSER_CUSTOM_FIELD_, SENF_PARSER_TYPE )
00676
00677 #define SENF_PARSER_PRIVATE_FIELD BOOST_PP_CAT( SENF_PARSER_P_FIELD_, SENF_PARSER_TYPE )
00678 #define SENF_PARSER_PRIVATE_BITFIELD BOOST_PP_CAT( SENF_PARSER_P_BITFIELD_, SENF_PARSER_TYPE )
00679
00680 #define SENF_PARSER_SKIP BOOST_PP_CAT( SENF_PARSER_SKIP_, SENF_PARSER_TYPE )
00681 #define SENF_PARSER_SKIP_BITS BOOST_PP_CAT( SENF_PARSER_SKIP_BITS_, SENF_PARSER_TYPE )
00682 #define SENF_PARSER_GOTO BOOST_PP_CAT( SENF_PARSER_GOTO_, SENF_PARSER_TYPE )
00683 #define SENF_PARSER_GOTO_OFFSET BOOST_PP_CAT( SENF_PARSER_GOTO_OFFSET_, SENF_PARSER_TYPE )
00684 #define SENF_PARSER_LABEL BOOST_PP_CAT( SENF_PARSER_LABEL_, SENF_PARSER_TYPE )
00685
00686 #define SENF_PARSER_OFFSET BOOST_PP_CAT( SENF_PARSER_OFFSET_, SENF_PARSER_TYPE )
00687 #define SENF_PARSER_FIXED_OFFSET BOOST_PP_CAT( SENF_PARSER_FIXED_OFFSET_, SENF_PARSER_TYPE )
00688 #define SENF_PARSER_CURRENT_FIXED_OFFSET BOOST_PP_CAT( SENF_PARSER_CURRENT_FIXED_OFFSET_, SENF_PARSER_TYPE )
00689
00690 #define SENF_PARSER_FINALIZE BOOST_PP_CAT( SENF_PARSER_FINALIZE_, SENF_PARSER_TYPE )
00691
00692 #endif
00693
00694
00695
00696
00697 #endif
00698 #if !defined(HH_SENF_Packets_Packets__decls_) && !defined(HH_SENF_Packets_ParseHelpers_i_)
00699 #define HH_SENF_Packets_ParseHelpers_i_
00700
00701
00702
00703 #endif
00704
00705
00706
00707
00708
00709
00710
00711
00712
00713
00714