LEFT | RIGHT |
(no file at all) | |
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC) | 3 * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC) |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 5 * This program is free software; you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 2 as | 6 * it under the terms of the GNU General Public License version 2 as |
7 * published by the Free Software Foundation; | 7 * published by the Free Software Foundation; |
8 * | 8 * |
9 * This program is distributed in the hope that it will be useful, | 9 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 /** | 67 /** |
68 * Set procedure code function | 68 * Set procedure code function |
69 * \param procedureCode the procedure code | 69 * \param procedureCode the procedure code |
70 */ | 70 */ |
71 void SetProcedureCode (uint8_t procedureCode); | 71 void SetProcedureCode (uint8_t procedureCode); |
72 | 72 |
73 /** | 73 /** |
74 * Set length of IEs function | 74 * Set length of IEs function |
75 * \param lengthOfIes the length of IEs | 75 * \param lengthOfIes the length of IEs |
76 */ | 76 */ |
77 void SetLengthOfIes (uint32_t lengthOfIes); | 77 void SetLengthOfIes (uint8_t lengthOfIes); |
78 /** | 78 /** |
79 * Set number of IEs function | 79 * Set number of IEs function |
80 * \param numberOfIes the number of IEs | 80 * \param numberOfIes the number of IEs |
81 */ | 81 */ |
82 void SetNumberOfIes (uint32_t numberOfIes); | 82 void SetNumberOfIes (uint8_t numberOfIes); |
83 | 83 |
84 | 84 |
85 /// Procedure code enumeration | 85 /// Procedure code enumeration |
86 enum ProcedureCode_t { | 86 enum ProcedureCode_t { |
87 HandoverPreparation = 0, | 87 HandoverPreparation = 0, |
88 LoadIndication = 2, | 88 LoadIndication = 2, |
89 SnStatusTransfer = 4, | 89 SnStatusTransfer = 4, |
90 UeContextRelease = 5, | 90 UeContextRelease = 5, |
91 ResourceStatusReporting = 10 | 91 ResourceStatusReporting = 10 |
92 }; | 92 }; |
93 | 93 |
94 /// Type of message enumeration | 94 /// Type of message enumeration |
95 enum TypeOfMessage_t { | 95 enum TypeOfMessage_t { |
96 InitiatingMessage = 0, | 96 InitiatingMessage = 0, |
97 SuccessfulOutcome = 1, | 97 SuccessfulOutcome = 1, |
98 UnsuccessfulOutcome = 2 | 98 UnsuccessfulOutcome = 2 |
99 }; | 99 }; |
100 | 100 |
101 private: | 101 private: |
102 uint8_t m_messageType; ///< message type | 102 uint8_t m_messageType; ///< message type |
103 uint8_t m_procedureCode; ///< procedure code | 103 uint8_t m_procedureCode; ///< procedure code |
104 | 104 |
105 uint32_t m_lengthOfIes; ///< length of IEs | 105 uint8_t m_lengthOfIes; ///< length of IEs |
106 uint32_t m_numberOfIes; ///< number of IEs | 106 uint8_t m_numberOfIes; ///< number of IEs |
107 }; | 107 }; |
108 | 108 |
109 | 109 |
110 /** | 110 /** |
111 * EpcX2HandoverRequestHeader | 111 * EpcX2HandoverRequestHeader |
112 */ | 112 */ |
113 class EpcX2HandoverRequestHeader : public Header | 113 class EpcX2HandoverRequestHeader : public Header |
114 { | 114 { |
115 public: | 115 public: |
116 EpcX2HandoverRequestHeader (); | 116 EpcX2HandoverRequestHeader (); |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 /** | 202 /** |
203 * Set UE Aggregrate Max Bit Rate Uplik function | 203 * Set UE Aggregrate Max Bit Rate Uplik function |
204 * \param bitRate the bit rate | 204 * \param bitRate the bit rate |
205 */ | 205 */ |
206 void SetUeAggregateMaxBitRateUplink (uint64_t bitRate); | 206 void SetUeAggregateMaxBitRateUplink (uint64_t bitRate); |
207 | 207 |
208 /** | 208 /** |
209 * Get length of IEs | 209 * Get length of IEs |
210 * \returns the length of IEs | 210 * \returns the length of IEs |
211 */ | 211 */ |
212 uint32_t GetLengthOfIes () const; | 212 uint8_t GetLengthOfIes () const; |
213 /** | 213 /** |
214 * Get number of IEs | 214 * Get number of IEs |
215 * \returns the number of IEs | 215 * \returns the number of IEs |
216 */ | 216 */ |
217 uint32_t GetNumberOfIes () const; | 217 uint8_t GetNumberOfIes () const; |
218 | 218 |
219 private: | 219 private: |
220 uint32_t m_numberOfIes; ///< number of IEs | 220 uint8_t m_numberOfIes; ///< number of IEs |
221 uint32_t m_headerLength; ///< header length | 221 uint8_t m_headerLength; ///< header length |
222 | 222 |
223 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X1 AP ID | 223 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X1 AP ID |
224 uint16_t m_cause; ///< cause | 224 uint16_t m_cause; ///< cause |
225 uint16_t m_targetCellId; ///< target cell ID | 225 uint16_t m_targetCellId; ///< target cell ID |
226 uint32_t m_mmeUeS1apId; ///< MME UE S1 AP ID | 226 uint32_t m_mmeUeS1apId; ///< MME UE S1 AP ID |
227 uint64_t m_ueAggregateMaxBitRateDownlink; ///< aggregate max bit rate
downlink | 227 uint64_t m_ueAggregateMaxBitRateDownlink; ///< aggregate max bit rate
downlink |
228 uint64_t m_ueAggregateMaxBitRateUplink; ///< aggregate max bit rate u
plink | 228 uint64_t m_ueAggregateMaxBitRateUplink; ///< aggregate max bit rate u
plink |
229 std::vector <EpcX2Sap::ErabToBeSetupItem> m_erabsToBeSetupList; ///< ERAB to b
e setup list | 229 std::vector <EpcX2Sap::ErabToBeSetupItem> m_erabsToBeSetupList; ///< ERAB to b
e setup list |
230 }; | 230 }; |
231 | 231 |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 /** | 291 /** |
292 * Set not admitted bearers function | 292 * Set not admitted bearers function |
293 * \param bearers the not admitted bearers | 293 * \param bearers the not admitted bearers |
294 */ | 294 */ |
295 void SetNotAdmittedBearers (std::vector <EpcX2Sap::ErabNotAdmittedItem> bearer
s); | 295 void SetNotAdmittedBearers (std::vector <EpcX2Sap::ErabNotAdmittedItem> bearer
s); |
296 | 296 |
297 /** | 297 /** |
298 * Get length of IEs function | 298 * Get length of IEs function |
299 * \returns the length of IEs | 299 * \returns the length of IEs |
300 */ | 300 */ |
301 uint32_t GetLengthOfIes () const; | 301 uint8_t GetLengthOfIes () const; |
302 /** | 302 /** |
303 * Get number of IEs function | 303 * Get number of IEs function |
304 * \returns the number of IEs | 304 * \returns the number of IEs |
305 */ | 305 */ |
306 uint32_t GetNumberOfIes () const; | 306 uint8_t GetNumberOfIes () const; |
307 | 307 |
308 private: | 308 private: |
309 uint32_t m_numberOfIes; ///< number of IEs | 309 uint8_t m_numberOfIes; ///< number of IEs |
310 uint32_t m_headerLength; ///< header length | 310 uint8_t m_headerLength; ///< header length |
311 | 311 |
312 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X2 AP ID | 312 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X2 AP ID |
313 uint16_t m_newEnbUeX2apId; ///< new ENB UE X2 AP ID | 313 uint16_t m_newEnbUeX2apId; ///< new ENB UE X2 AP ID |
314 std::vector <EpcX2Sap::ErabAdmittedItem> m_erabsAdmittedList; ///< ERABs a
dmitted list | 314 std::vector <EpcX2Sap::ErabAdmittedItem> m_erabsAdmittedList; ///< ERABs a
dmitted list |
315 std::vector <EpcX2Sap::ErabNotAdmittedItem> m_erabsNotAdmittedList; ///< ERAB
s not admitted list | 315 std::vector <EpcX2Sap::ErabNotAdmittedItem> m_erabsNotAdmittedList; ///< ERAB
s not admitted list |
316 }; | 316 }; |
317 | 317 |
318 | 318 |
319 /** | 319 /** |
320 * EpcX2HandoverPreparationFailureHeader | 320 * EpcX2HandoverPreparationFailureHeader |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 /** | 367 /** |
368 * Set criticality diagnostics function | 368 * Set criticality diagnostics function |
369 * \param criticalityDiagnostics the criticality diagnostics | 369 * \param criticalityDiagnostics the criticality diagnostics |
370 */ | 370 */ |
371 void SetCriticalityDiagnostics (uint16_t criticalityDiagnostics); | 371 void SetCriticalityDiagnostics (uint16_t criticalityDiagnostics); |
372 | 372 |
373 /** | 373 /** |
374 * Get length of IEs function | 374 * Get length of IEs function |
375 * \returns the length of IEs | 375 * \returns the length of IEs |
376 */ | 376 */ |
377 uint32_t GetLengthOfIes () const; | 377 uint8_t GetLengthOfIes () const; |
378 /** | 378 /** |
379 * Get number of IEs function | 379 * Get number of IEs function |
380 * \returns the number of IEs | 380 * \returns the number of IEs |
381 */ | 381 */ |
382 uint32_t GetNumberOfIes () const; | 382 uint8_t GetNumberOfIes () const; |
383 | 383 |
384 private: | 384 private: |
385 uint32_t m_numberOfIes; ///< number of IEs | 385 uint8_t m_numberOfIes; ///< number of IEs |
386 uint32_t m_headerLength; ///< header length | 386 uint8_t m_headerLength; ///< header length |
387 | 387 |
388 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X2 AP ID | 388 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X2 AP ID |
389 uint16_t m_cause; ///< cause | 389 uint16_t m_cause; ///< cause |
390 uint16_t m_criticalityDiagnostics; ///< criticality diagnostics | 390 uint16_t m_criticalityDiagnostics; ///< criticality diagnostics |
391 }; | 391 }; |
392 | 392 |
393 | 393 |
394 /** | 394 /** |
395 * EpcX2SnStatusTransferHeader | 395 * EpcX2SnStatusTransferHeader |
396 */ | 396 */ |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
442 /** | 442 /** |
443 * Set ERABs subject to status transfer list function | 443 * Set ERABs subject to status transfer list function |
444 * \param erabs std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem> | 444 * \param erabs std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem> |
445 */ | 445 */ |
446 void SetErabsSubjectToStatusTransferList (std::vector <EpcX2Sap::ErabsSubjectT
oStatusTransferItem> erabs); | 446 void SetErabsSubjectToStatusTransferList (std::vector <EpcX2Sap::ErabsSubjectT
oStatusTransferItem> erabs); |
447 | 447 |
448 /** | 448 /** |
449 * Get length of IEs function | 449 * Get length of IEs function |
450 * \returns the length of IEs | 450 * \returns the length of IEs |
451 */ | 451 */ |
452 uint32_t GetLengthOfIes () const; | 452 uint8_t GetLengthOfIes () const; |
453 /** | 453 /** |
454 * Get number of IEs function | 454 * Get number of IEs function |
455 * \returns the number of IEs | 455 * \returns the number of IEs |
456 */ | 456 */ |
457 uint32_t GetNumberOfIes () const; | 457 uint8_t GetNumberOfIes () const; |
458 | 458 |
459 private: | 459 private: |
460 uint32_t m_numberOfIes; ///< number of IEs | 460 uint8_t m_numberOfIes; ///< number of IEs |
461 uint32_t m_headerLength; ///< header length | 461 uint8_t m_headerLength; ///< header length |
462 | 462 |
463 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X2 AP ID· | 463 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X2 AP ID· |
464 uint16_t m_newEnbUeX2apId; ///< new ENB UE X2 AP ID | 464 uint16_t m_newEnbUeX2apId; ///< new ENB UE X2 AP ID |
465 std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem> m_erabsSubjectToStatu
sTransferList; ///< ERABs subject to status transfer list | 465 std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem> m_erabsSubjectToStatu
sTransferList; ///< ERABs subject to status transfer list |
466 }; | 466 }; |
467 | 467 |
468 /** | 468 /** |
469 * EpcX2UeContextReleaseHeader | 469 * EpcX2UeContextReleaseHeader |
470 */ | 470 */ |
471 class EpcX2UeContextReleaseHeader : public Header | 471 class EpcX2UeContextReleaseHeader : public Header |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
505 /** | 505 /** |
506 * Set new ENB UE X2 AP ID function | 506 * Set new ENB UE X2 AP ID function |
507 * \param x2apId the new ENB UE X2 AP ID | 507 * \param x2apId the new ENB UE X2 AP ID |
508 */ | 508 */ |
509 void SetNewEnbUeX2apId (uint16_t x2apId); | 509 void SetNewEnbUeX2apId (uint16_t x2apId); |
510 | 510 |
511 /** | 511 /** |
512 * Get length of IEs function | 512 * Get length of IEs function |
513 * \returns the length of IEs | 513 * \returns the length of IEs |
514 */ | 514 */ |
515 uint32_t GetLengthOfIes () const; | 515 uint8_t GetLengthOfIes () const; |
516 /** | 516 /** |
517 * Set length of IEs function | 517 * Set length of IEs function |
518 * \returns the number of IEs | 518 * \returns the number of IEs |
519 */ | 519 */ |
520 uint32_t GetNumberOfIes () const; | 520 uint8_t GetNumberOfIes () const; |
521 | 521 |
522 private: | 522 private: |
523 uint32_t m_numberOfIes; ///< number of IEs | 523 uint8_t m_numberOfIes; ///< number of IEs |
524 uint32_t m_headerLength; ///< header length | 524 uint8_t m_headerLength; ///< header length |
525 | 525 |
526 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X2 AP ID | 526 uint16_t m_oldEnbUeX2apId; ///< old ENB UE X2 AP ID |
527 uint16_t m_newEnbUeX2apId; ///< new ENB UE X2 AP ID | 527 uint16_t m_newEnbUeX2apId; ///< new ENB UE X2 AP ID |
528 }; | 528 }; |
529 | 529 |
530 | 530 |
531 /** | 531 /** |
532 * EpcX2LoadInformationHeader | 532 * EpcX2LoadInformationHeader |
533 */ | 533 */ |
534 class EpcX2LoadInformationHeader : public Header | 534 class EpcX2LoadInformationHeader : public Header |
(...skipping 22 matching lines...) Expand all Loading... |
557 /** | 557 /** |
558 * Set cell information list function | 558 * Set cell information list function |
559 * \param cellInformationList std::vector <EpcX2Sap::CellInformationItem>· | 559 * \param cellInformationList std::vector <EpcX2Sap::CellInformationItem>· |
560 */ | 560 */ |
561 void SetCellInformationList (std::vector <EpcX2Sap::CellInformationItem> cellI
nformationList); | 561 void SetCellInformationList (std::vector <EpcX2Sap::CellInformationItem> cellI
nformationList); |
562 | 562 |
563 /** | 563 /** |
564 * Get length of IEs function | 564 * Get length of IEs function |
565 * \returns the length of IEs | 565 * \returns the length of IEs |
566 */ | 566 */ |
567 uint32_t GetLengthOfIes () const; | 567 uint8_t GetLengthOfIes () const; |
568 /** | 568 /** |
569 * Get number of IEs function | 569 * Get number of IEs function |
570 * \returns the number of IEs | 570 * \returns the number of IEs |
571 */ | 571 */ |
572 uint32_t GetNumberOfIes () const; | 572 uint8_t GetNumberOfIes () const; |
573 | 573 |
574 private: | 574 private: |
575 uint32_t m_numberOfIes; ///< number of IEs | 575 uint8_t m_numberOfIes; ///< number of IEs |
576 uint32_t m_headerLength; ///< length of IEs | 576 uint8_t m_headerLength; ///< length of IEs |
577 | 577 |
578 std::vector <EpcX2Sap::CellInformationItem> m_cellInformationList; ///< cell i
nformation list | 578 std::vector <EpcX2Sap::CellInformationItem> m_cellInformationList; ///< cell i
nformation list |
579 }; | 579 }; |
580 | 580 |
581 | 581 |
582 /** | 582 /** |
583 * EpcX2ResourceStatusUpdateHeader | 583 * EpcX2ResourceStatusUpdateHeader |
584 */ | 584 */ |
585 class EpcX2ResourceStatusUpdateHeader : public Header | 585 class EpcX2ResourceStatusUpdateHeader : public Header |
586 { | 586 { |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
630 /** | 630 /** |
631 * Set cell measurement results list function | 631 * Set cell measurement results list function |
632 * \param cellMeasurementResultList the cell measurement results list | 632 * \param cellMeasurementResultList the cell measurement results list |
633 */ | 633 */ |
634 void SetCellMeasurementResultList (std::vector <EpcX2Sap::CellMeasurementResul
tItem> cellMeasurementResultList); | 634 void SetCellMeasurementResultList (std::vector <EpcX2Sap::CellMeasurementResul
tItem> cellMeasurementResultList); |
635 | 635 |
636 /** | 636 /** |
637 * Get length of IEs function | 637 * Get length of IEs function |
638 * \returns the length of IEs | 638 * \returns the length of IEs |
639 */ | 639 */ |
640 uint32_t GetLengthOfIes () const; | 640 uint8_t GetLengthOfIes () const; |
641 /** | 641 /** |
642 * Get number of IEs function | 642 * Get number of IEs function |
643 * \returns the number of IEs | 643 * \returns the number of IEs |
644 */ | 644 */ |
645 uint32_t GetNumberOfIes () const; | 645 uint8_t GetNumberOfIes () const; |
646 | 646 |
647 private: | 647 private: |
648 uint32_t m_numberOfIes; ///< number of IEs | 648 uint8_t m_numberOfIes; ///< number of IEs |
649 uint32_t m_headerLength; ///< header length | 649 uint8_t m_headerLength; ///< header length |
650 | 650 |
651 uint16_t m_enb1MeasurementId; ///< ENB1 measurement | 651 uint16_t m_enb1MeasurementId; ///< ENB1 measurement |
652 uint16_t m_enb2MeasurementId; ///< ENB2 measurement | 652 uint16_t m_enb2MeasurementId; ///< ENB2 measurement |
653 std::vector <EpcX2Sap::CellMeasurementResultItem> m_cellMeasurementResultList;
///< cell measurement result list | 653 std::vector <EpcX2Sap::CellMeasurementResultItem> m_cellMeasurementResultList;
///< cell measurement result list |
654 }; | 654 }; |
655 | 655 |
656 | 656 |
657 } // namespace ns3 | 657 } // namespace ns3 |
658 | 658 |
659 #endif // EPC_X2_HEADER_H | 659 #endif // EPC_X2_HEADER_H |
LEFT | RIGHT |