1 // ANNA - Anna is Not Nothingness Anymore //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
9 #ifndef anna_diameter_defines_hpp
10 #define anna_diameter_defines_hpp
14 #include <anna/core/util/defines.hpp> // S32, etc.
15 #include <anna/config/defines.hpp>
21 #include <utility> // std::pair
22 //#include <cctype> // isdigit
31 typedef std::pair < S32/*code*/, S32/*vendor-id*/ > AvpId;
32 typedef std::pair < U24/*code*/, bool/*request indicator*/ > CommandId;
34 //typedef std::pair<_avpId_t, U16> par_idAVP_ocurrencia_t;
37 //typedef std::vector<Avp*> _atributo_ptr_vect;
38 //typedef std::vector<Avp> _atributo_vect;
39 //typedef std::vector<U16> _u16_vect;
40 //typedef std::vector<S32> _s32_vect;
41 //typedef std::vector<U32> _u32_vect;
42 //typedef PoolDeObjetos <Avp> _pool_avps_t;
43 //typedef std::vector<_avpId_t> _codigo_vendorID_vect;
44 //typedef std::vector<par_idAVP_ocurrencia_t> _idAVP_ocurrencia_vect;
45 //typedef PoolDeObjetos<DetalleDECODIFICACION> _pool_detallesDecod_t;
46 //typedef PoolDeObjetos<DetalleVALIDACION> _pool_detallesValid_t;
47 //typedef std::vector<DetalleDECODIFICACION*> _detalleDecod_ptr_vect;
48 //typedef std::vector<DetalleVALIDACION*> _detalleValid_ptr_vect;
52 //typedef std::vector<Avp*>::const_iterator _atributo_ptr_iter;
53 //typedef std::vector<InfoAVP*>::iterator _atributo_ptr_nc_iter;
54 //typedef std::vector<Avp>::const_iterator _atributo_iter;
55 //typedef std::vector<U16>::const_iterator _u16_iter;
56 //typedef std::vector<S32>::const_iterator _s32_iter;
57 //typedef std::vector<U32>::const_iterator _u32_iter;
58 //typedef std::vector<_avpId_t>::const_iterator _codigo_vendorID_iter;
59 //typedef std::vector<par_idAVP_ocurrencia_t>::const_iterator _idAVP_ocurrencia_iter;
60 //typedef std::vector<DetalleDECODIFICACION*>::const_iterator _detalleDecod_ptr_iter;
61 //typedef std::vector<DetalleVALIDACION*>::const_iterator _detalleValid_ptr_iter;
64 typedef unsigned int ApplicationId;
66 // The Hop-by-Hop Identifier is an unsigned 32-bit integer field (in
67 // network byte order) and aids in matching requests and replies.
68 typedef unsigned int HopByHop;
70 typedef unsigned int EndToEnd;