Pre-ci test passed git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4000 818b1a75-f10b-46b9-bf7c-635c3b92a50f
143 lines
5.1 KiB
C
Executable File
143 lines
5.1 KiB
C
Executable File
/***************************************************************************
|
|
rrc_bch_constant.h - description
|
|
-------------------
|
|
copyright : (C) 2002, 2010 by Eurecom
|
|
email : Michelle.Wetterwald@eurecom.fr
|
|
**************************************************************************
|
|
Define structures for Broadcast MIB and SIBs
|
|
***************************************************************************/
|
|
#ifndef __RRC_BCH_CONSTANT_H__
|
|
#define __RRC_BCH_CONSTANT_H__
|
|
|
|
#include "rrc_bch_per_basic.h"
|
|
|
|
#define maxBlock 210
|
|
typedef char ENCODEDBLOCK[maxBlock];
|
|
#define maxSI 30 // (262-16)bits/8 = 30.75
|
|
typedef char ENCODEDSI[maxSI];
|
|
#define LSIBfixed 24 //= 30-4-2 * spec=28 when PER unaligned
|
|
#define LSIBcompl 25 //= 30-4-1 * spec=29 when PER unaligned
|
|
|
|
#define supportedSIBs 6 //with value_tags [SIBs 1,2,5,11,18] - 14 is time-out
|
|
|
|
#define maxSIB1NAS 200 // max num of bytes for NAS data in SIB 1
|
|
#define maxSIBNAS 110 // max num of bytes for NAS data in SIB 18
|
|
|
|
|
|
typedef struct { /* PER control block */
|
|
ENCODEDBLOCK *buffer; /* start of data buffer */
|
|
int buff_index; /* index for next data */
|
|
int buff_size; /* size of data in the encoded buffer */
|
|
int bitoffset; /* for PER unaligned - FFS */
|
|
ENCODEDBLOCK *data; /* start of encoded data */
|
|
int data_size; /* size of encoded data */
|
|
int data_offset; /* in bytes - PER unaligned is FFS */
|
|
int errInfo; /* error info */
|
|
} PERParms;
|
|
|
|
#define NO_BLOCK 0xFF
|
|
|
|
// Default broadcast scheduling
|
|
/*
|
|
Rules : Repetition must be a constant as defined below
|
|
0 <= position <= 2 pow sib_rep -1
|
|
eg : sib_rep = 4096, position<= 2047
|
|
Current definition MIB: Rep32, pos 0
|
|
Long SIBs (>5segments) Rep128, pos 7 [9 segments available]: SIB1, SIB5, SIB18
|
|
Short SIBs (<=5 segments) Rep64, pos 3 [5 segments available]: SIB2, SIB11?, SIB14?
|
|
*/
|
|
#define LONG_SIB_POS 7
|
|
#define SHORT_SIB_POS 2
|
|
|
|
#define MIB_REP SchedulingInformation_scheduling_rep32
|
|
#define MIB_POS 0
|
|
#define SIB1_REP SchedulingInformation_scheduling_rep64 //128
|
|
#define SIB1_POS LONG_SIB_POS
|
|
//#define SIB2_REP SchedulingInformation_scheduling_rep64
|
|
//#define SIB2_POS SHORT_SIB_POS
|
|
#define SIB2_REP SchedulingInformation_scheduling_norep
|
|
#define SIB2_POS 0
|
|
#define SIB5_REP SchedulingInformation_scheduling_rep64 //128
|
|
#define SIB5_POS LONG_SIB_POS + 16 //=(64/2)/2 +7
|
|
#define SIB11_REP SchedulingInformation_scheduling_norep
|
|
#define SIB11_POS 0
|
|
#define SIB14_REP SchedulingInformation_scheduling_rep64
|
|
#define SIB14_POS SHORT_SIB_POS + 2
|
|
#define SIB14_TFACTOR 7
|
|
#define SIB18_REP SchedulingInformation_scheduling_rep64
|
|
#define SIB18_POS SHORT_SIB_POS + 16
|
|
|
|
|
|
//Temp
|
|
#define maxSIBperMsg 16
|
|
//#define P_SUCCESS 0
|
|
//#define P_MISCLERROR 1
|
|
//#define P_OUTOFBOUNDS 2
|
|
//#define P_INVDIGIT 3
|
|
|
|
/* Segment Combination Types */
|
|
#define BCH_noSegment 1
|
|
#define BCH_firstSegment 2
|
|
#define BCH_subsequentSegment 3
|
|
#define BCH_lastSegmentShort 4
|
|
#define BCH_lastAndFirst 5
|
|
#define BCH_lastAndComplete 6
|
|
#define BCH_lastAndCompleteAndFirst 7
|
|
#define BCH_completeSIB_List 8
|
|
#define BCH_completeAndFirst 9
|
|
#define BCH_completeSIB 10
|
|
#define BCH_lastSegment 11
|
|
|
|
/* PLMN_Type */
|
|
#define PLMN_gsm_MAP 1
|
|
#define PLMN_ansi_41 2
|
|
#define PLMN_gsm_MAP_and_ANSI_41 3
|
|
#define PLMN_MobyDick 4
|
|
|
|
/* SIBSb tag constants */
|
|
#define SIBSb_sysInfoType1 1
|
|
#define SIBSb_sysInfoType2 2
|
|
#define SIBSb_sysInfoType3 3
|
|
#define SIBSb_sysInfoType4 4
|
|
#define SIBSb_sysInfoType5 5
|
|
#define SIBSb_sysInfoType6 6
|
|
#define SIBSb_sysInfoType7 7
|
|
#define SIBSb_sysInfoType8 8
|
|
#define SIBSb_sysInfoType9 9
|
|
#define SIBSb_sysInfoType10 10
|
|
#define SIBSb_sysInfoType11 11
|
|
#define SIBSb_sysInfoType12 12
|
|
#define SIBSb_sysInfoType13 13
|
|
#define SIBSb_sysInfoType13_1 14
|
|
#define SIBSb_sysInfoType13_2 15
|
|
#define SIBSb_sysInfoType13_3 16
|
|
#define SIBSb_sysInfoType13_4 17
|
|
#define SIBSb_sysInfoType14 18
|
|
#define SIBSb_sysInfoType15 19
|
|
#define SIBSb_sysInfoType16 20
|
|
#define SIBSb_sysInfoType17 21
|
|
#define SIBSb_sysInfoTypeSB1 22
|
|
#define SIBSb_sysInfoTypeSB2 23
|
|
#define SIBSb_sysInfoType15_1 24
|
|
#define SIBSb_sysInfoType15_2 25
|
|
#define SIBSb_sysInfoType15_3 26
|
|
#define SIBSb_sysInfoType15_4 27
|
|
#define SIBSb_sysInfoType18 28
|
|
#define SIBSb_sysInfoType15_5 29
|
|
|
|
/* SchedulingInformation Sib_Pos */
|
|
#define SchedulingInformation_scheduling_norep 0
|
|
#define SchedulingInformation_scheduling_rep4 1
|
|
#define SchedulingInformation_scheduling_rep8 2
|
|
#define SchedulingInformation_scheduling_rep16 3
|
|
#define SchedulingInformation_scheduling_rep32 4
|
|
#define SchedulingInformation_scheduling_rep64 5
|
|
#define SchedulingInformation_scheduling_rep128 6
|
|
#define SchedulingInformation_scheduling_rep256 7
|
|
#define SchedulingInformation_scheduling_rep512 8
|
|
#define SchedulingInformation_scheduling_rep1024 9
|
|
#define SchedulingInformation_scheduling_rep2048 10
|
|
#define SchedulingInformation_scheduling_rep4096 11
|
|
|
|
#endif
|