Changed LICENSE. Now referenced to web site and file on project root directory
[anna.git] / include / anna / diameter / defines.hpp
1 // ANNA - Anna is Not Nothingness Anymore                                                         //
2 //                                                                                                //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo                         //
4 //                                                                                                //
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 //
7
8
9 #ifndef anna_diameter_defines_hpp
10 #define anna_diameter_defines_hpp
11
12
13 // Local
14 #include <anna/core/util/defines.hpp> // S32, etc.
15 #include <anna/config/defines.hpp>
16
17 // STL
18 //#include <string>
19 //#include <vector>
20 //#include <map>
21 #include <utility>  // std::pair
22 //#include <cctype> // isdigit
23
24
25 namespace anna {
26
27 namespace diameter {
28
29
30 // pares
31 typedef std::pair < S32/*code*/, S32/*vendor-id*/ > AvpId;
32 typedef std::pair < U24/*code*/, bool/*request indicator*/ > CommandId;
33
34 //typedef std::pair<_avpId_t, U16> par_idAVP_ocurrencia_t;
35
36 //// vectores
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;
49 //
50 //
51 //// iteradores
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;
62
63
64 typedef unsigned int ApplicationId;
65
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;
69
70 typedef unsigned int EndToEnd;
71
72 }
73 }
74
75
76 #endif
77