FreeCalypso > hg > fc-magnetite
view cdg3/sap/mac.sap @ 516:1ed9de6c90bd
src/g23m-gsm/sms/sms_for.c: bogus malloc removed
The new error handling code that was not present in TCS211 blob version
contains a malloc call that is bogus for 3 reasons:
1) The memory allocation in question is not needed in the first place;
2) libc malloc is used instead of one of the firmware's proper ways;
3) The memory allocation is made inside a function and then never freed,
i.e., a memory leak.
This bug was caught in gcc-built FreeCalypso fw projects (Citrine
and Selenite) because our gcc environment does not allow any use of
libc malloc (any reference to malloc produces a link failure),
but this code from TCS3.2 is wrong even for Magnetite: if this code
path is executed repeatedly over a long time, the many small allocations
made by this malloc call without a subsequent free will eventually
exhaust the malloc heap provided by the TMS470 environment, malloc will
start returning NULL, and the bogus code will treat it as an error.
Because the memory allocation in question is not needed at all,
the fix entails simply removing it.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 22 Jul 2018 06:04:49 +0000 |
parents | c15047b3d00d |
children |
line wrap: on
line source
<?xml version="1.0" encoding="UTF-8"?> <!-- edited with SAPE SAP Editor --> <SAP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="sap.xsd"> <DocInfoSection> <DocName DocType="SAP">mac</DocName> <DocNum Number="111" Project="8441"/> <Description> <Section>The Protocol Stacks are used to define the functionality of the GSM protocols for interfaces. The GSM specifications are normative when used to describe the functionality of interfaces, but the stacks and the subdivision of protocol layers does not imply or restrict any implementation.</Section> <Section>The protocol stack for GPRS consists of several entities. Each entity has one ore more service access points, over which the entity provides a service for the upper entity.</Section> <Section>Figure 1-1: Architecture of the GSM/GPRS protocol stack</Section> <Section>The information units passed via the SAPs are called primitives and consists of an operation code and several parameters. See the Users Guide for details.</Section> <Section>The entities of the GPRS protocol stack are:</Section> <Section>1.1 GRR (RLC/MAC) - Radio Link Control/Medium Access Control</Section> <Section>This layer contains two functions: The Radio Link Control function provides a radio-solution-dependent reliable link. The Medium Access Control function controls the access signalling (request and grant) procedures for the radio channel, and the mapping of LLC frames onto the GSM physical channel.</Section> <Section>1.2 LLC - Logical Link Control</Section> <Section>The LLC entity provides multiple highly reliable logical links for asynchronous data transfer between the MS and the network. It supports variable-length information frames, acknowledged and unacknowledged data transfer, flow and sequence control, error detection and recovery, notification of unrecoverable errors, user identity confidentiality, and ciphering of user and signaling data.</Section> <Section>1.3 GMM - GPRS Mobility Management</Section> <Section>The GMM entity provides procedures for the mobility of the MS, such as informing the network of its present location, and user identity confidentiality. It manages the GMM context (attach, detach, routing area updating), supports security functions such as authentication of user and MS, controls ciphering of data, and initiates the response to paging messages.</Section> <Section>1.4 SM - Session Management</Section> <Section>The main function of the session management (SM) is to support PDP context handling of the user terminal. Session Management activates, modifies and deletes the contexts for packet data protocols (PDP). Session Management services are provided at the SMREG-SAP and the SNSM-SAP for anonymous and non-anonymous access. The non-anonymous and anonymous access procedures for PDP context activation and PDP context deactivation are available at the SMREG-SAP. In addition there exists a PDP context modification for non-anonymous PDP contexts.</Section> <Section>1.5 SNDCP - Subnetwork Dependant Convergence Protocol</Section> <Section>SNDCP carries out all functions related to transfer of Network layer Protocol Data Units (N-PDUs) over GPRS in a transparent way. SNDCP helps to improve channel efficiency by means of compression techniques. The set of protocol entities above SNDCP consists of commonly used network protocols. They all use the same SNDCP entity, which then performs multiplexing of data coming from different sources to be sent using the service provided by the LLC layer.</Section> <Section>1.6 GACI - GPRS Application Control Interface</Section> <Section>The GACI is the GPRS extension of the ACI. It is specified in GSM 07.07 and 07.60. It is responsible for processing of the GPRS related AT Commands to setup, activate and deactivate the PDP context parameter. It also provides functionality for the interworking between GMM/SM/SNDCP and a packet oriented protocol like PPP.</Section> <Section>1.7 USART - Universal Synchronous Asynchronous Receiver Transmitter Driver</Section> <Section>The USART is a hardware component that facilitates a connection between the mobile station and terminal equipment (e.g. a PC). This interface uses some of the circuits described in V.24.</Section> <Section>The data exchange provided by this unit is serial and asynchronous (synchronous communication is not in the scope of this document). A driver that uses interrupts to manage a circular buffer for the sending and receiving direction is necessary in order to use this component in the GPRS. The driver has to be able to perform flow control.</Section> <Section>1.8 TOM - Tunnelling of Messages</Section> <Section>The TOM entity is present if and only if HS136 is supported (the feature flag FF_HS136 is enabled).</Section> <Section>The main function of TOM is to tunnel non-GSM signalling messages between the MS and the SGSN. The only non-GSM signalling which is currently supported by TOM is for the EGPRS-136 system (according to TIA/EIA-136-376). Data transfer in both uplink and downlink direction is possible. Two different priorities (high, low) of signalling data transfer are supported. TOM uses the unacknowledged mode of LLC and the acknowledged mode of GRR (RLC/MAC).</Section> </Description> <DocHistory> <DocVersion Number="001" Year="99"/> <Date Day="26" Month="3" Year="1999"/> <Author>CAN</Author> <DocStatus State="BEING_PROCESSED"/> <Comment>Initial</Comment> </DocHistory> <DocHistory> <DocVersion Number="002" Year="99"/> <Date Day="24" Month="6" Year="1999"/> <Author>SL</Author> <DocStatus State="BEING_PROCESSED"/> <Comment>template changed</Comment> </DocHistory> <DocHistory> <DocVersion Number="003" Year="99"/> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <DocStatus State="BEING_PROCESSED"/> <Comment>updated from s921bis Vers 0.5</Comment> </DocHistory> <DocHistory> <DocVersion Number="004" Year="99"/> <Date Day="2" Month="9" Year="1999"/> <Author>CAN</Author> <DocStatus State="BEING_PROCESSED"/> <Comment>error correction in ul_data</Comment> </DocHistory> <DocHistory> <DocVersion Number="005" Year="99"/> <Date Day="29" Month="9" Year="1999"/> <Author>CAN</Author> <DocStatus State="BEING_PROCESSED"/> <Comment>changes in s921_bis, new primitive (MAC_POLL_REQ)</Comment> </DocHistory> <DocHistory> <DocVersion Number="006" Year="99"/> <Date Day="28" Month="10" Year="1999"/> <Author>CAN</Author> <DocStatus State="BEING_PROCESSED"/> <Comment>op codes changed</Comment> </DocHistory> <DocHistory> <DocVersion Number="007" Year="99"/> <Date Day="21" Month="2" Year="2000"/> <Author>CAN</Author> <DocStatus State="BEING_PROCESSED"/> <Comment>updated from s921bis Vers 0.7</Comment> </DocHistory> <DocHistory> <DocVersion Number="008" Year="00"/> <Date Day="21" Month="11" Year="2000"/> <Author>SAB</Author> <DocStatus State="BEING_PROCESSED"/> <Comment>Updated for transmit power control</Comment> </DocHistory> <DocHistory> <DocVersion Number="009" Year="03"/> <Date Day="26" Month="2" Year="2003"/> <Author>SAB</Author> <DocStatus State="BEING_PROCESSED"/> <Comment>Change parameter list of primitive MAC_PWR_CTRL_IND</Comment> </DocHistory> <DocRef> <RefId>[1]</RefId> <RefTitle>GSM 05.02 version 8.0.0 Release 1999Digital cellular telecommunications system (Phase 2+);Multiplexing and multiple access on the radio path</RefTitle> </DocRef> <DocRef> <RefId>[2]</RefId> <RefTitle>GSM 04.60 version 6.3.0 Release 1997Digital cellular telecommunications system (Phase 2+);General Packet Radio Service (GPRS);Mobile Station (MS) - Base Station System (BSS) interface;Radio Link Control/ Medium Access Control (RLC/MAC) protocol</RefTitle> </DocRef> <DocRef> <RefId>[3]</RefId> <RefTitle>GSM 04.08 version 6.3.0 Release 1997Digital cellular telecommunications system (Phase 2+);Mobile radio interface layer 3 specification</RefTitle> </DocRef> <DocRef> <RefId>[4]</RefId> <RefTitle>GSM 03.64 version 6.1.0 Release 1997Digital cellular telecommunications system (Phase 2+);General Packet Radio Service (GPRS);Overall description of the GPRS radio interface; Stage 2</RefTitle> </DocRef> <DocRef> <RefId>[5]</RefId> <RefTitle>GSM 03.60 version 6.3.1 Release 1997Digital cellular telecommunications system (Phase 2+);General Packet Radio Service (GPRS);Service description; Stage 2</RefTitle> </DocRef> <DocRef> <RefId>[6]</RefId> <RefTitle>GSM 04.07 version 6.3.0 Release 1997Digital cellular telecommunications system (Phase 2+);Mobile radio interface signalling layer 3; General aspects</RefTitle> </DocRef> <DocRef> <RefId>[7]</RefId> <RefTitle>GSM 04.64 version 6.3.0 Release 1997Digital cellular telecommunications system (Phase 2+);General Packet Radio Service (GPRS);Mobile Station - Serving GPRS Support Node (MS-SGSN)Logical Link Control (LLC) layer specification</RefTitle> </DocRef> <DocRef> <RefId>[8]</RefId> <RefTitle>GSM 05.08 version 6.4.0 Release 1997Digital cellular telecommunications system (Phase 2+);Radio subsystem link control</RefTitle> </DocRef> <DocRef> <RefId>[9]</RefId> <RefTitle>GSM 05.10 version 6.3.0 Release 1997Digital cellular telecommunications system (Phase 2+);Radio subsystem synchronization</RefTitle> </DocRef> <DocRef> <RefId>[10]</RefId> <RefTitle>GSM 03.20 TS 100 929: July 1998 (GSM 03.20 version 6.0.1)Security related network functions, ETSI</RefTitle> </DocRef> <DocRef> <RefId>[11]</RefId> <RefTitle>Draft GSM 03.22: August 1998 (GSM 03.22 version 6.1.0)Functions related to Mobile Station (MS) in idle mode and group receive mode, ETSI</RefTitle> </DocRef> <DocRef> <RefId>[12]</RefId> <RefTitle>GSM 04.65 V6.3.0: Subnetwork Dependant Convergence Protocol ETSI, March 1999</RefTitle> </DocRef> <DocRef> <RefId>[13]</RefId> <RefTitle>ITU-T V42bis ITU-T, Recommendation V.42 bis 1990</RefTitle> </DocRef> <DocRef> <RefId>[14]</RefId> <RefTitle>GSM 09.60 GPRS Tunneling Protocol (GTP) across the Gn and Gp Interface</RefTitle> </DocRef> <DocRef> <RefId>[15]</RefId> <RefTitle>RFC 1661 IETF STD 51 July 1994The Point-to-Point Protocol (PPP)</RefTitle> </DocRef> <DocRef> <RefId>[16]</RefId> <RefTitle>RFC 1662 IETF STD 51 July 1994PPP in HDLC-like Framing</RefTitle> </DocRef> <DocRef> <RefId>[17]</RefId> <RefTitle>RFC 1570 January 1994PPP LCP Extensions</RefTitle> </DocRef> <DocRef> <RefId>[18]</RefId> <RefTitle>RFC 1989 August 1996PPP Link Quality Monitoring</RefTitle> </DocRef> <DocRef> <RefId>[19]</RefId> <RefTitle>RFC 1332 May 1992The PPP Internet Protocol Control Protocol (IPCP)</RefTitle> </DocRef> <DocRef> <RefId>[20]</RefId> <RefTitle>RFC 1877 December 1995PPP IPCP Extensions for Name Server Addresses</RefTitle> </DocRef> <DocRef> <RefId>[21]</RefId> <RefTitle>RFC 2153 May 1997PPP Vendor Extensions</RefTitle> </DocRef> <DocRef> <RefId>[22]</RefId> <RefTitle>RFC 1334 October 1992PPP Authentication Protocols (for Password Authentication Protocol only)</RefTitle> </DocRef> <DocRef> <RefId>[23]</RefId> <RefTitle>RFC 1994 August 1996PPP Challenge Handshake Authentication Protocol (CHAP)</RefTitle> </DocRef> <DocRef> <RefId>[24]</RefId> <RefTitle>TIA/EIA-136-370Packet-Data Services - Enhanced General Packet Radio for TIA/EIA-136 (EGPRS-136) - Overview, Telecommunications Industry Association</RefTitle> </DocRef> <DocRef> <RefId>[25]</RefId> <RefTitle>TIA/EIA-136-376Packet-Data Services - EGPRS-136 Mobility Management, Telecommunications Industry Association</RefTitle> </DocRef> <DocRef> <RefId>[26]</RefId> <RefTitle>TIA/EIA-136-972Packet-Data Services - Stage 2 Description, Telecommunications Industry Association</RefTitle> </DocRef> </DocInfoSection> <ConstantsSection> <Description> <Section>This section contains all constants that are defined for the MAC SAP</Section> </Description> <Constant> <Alias>MAC_MAX_TIMESLOTS</Alias> <Value ValueType="DEC">8</Value> <Comment>defines the maximum number of uplink data blocks</Comment> </Constant> <Constant> <Alias>MAC_BURST_PER_BLOCK</Alias> <Value ValueType="DEC">4</Value> <Comment>number of bursts that compose a block</Comment> </Constant> <Constant> <Alias>MAC_MAX_DL_DATA_BLCKS</Alias> <Value ValueType="DEC">4</Value> <Comment>maximum number of dowlink data blocks</Comment> </Constant> <History> <Date Day="26" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> </ConstantsSection> <PrimitivesSection PrimIDType="BIT16" SAPid="50"> <Description> <Section>This section contains all primitives that are defined for the MAC SAP</Section> </Description> <Primitive> <Description> <Section>Request used by the RLC sublayer for uplink data transmission.</Section> </Description> <PrimDef> <Name>MAC_DATA_REQ</Name> <PrimID Direction="UPLINK" Number="0"/> <PrimUsage> <Sender>RLC</Sender> <Receiver>MAC</Receiver> </PrimUsage> </PrimDef> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>ul_data</Name> </ItemLink> <Comment>Uplink Data</Comment> </PrimItem> <History> <Date Day="26" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> <History> <Date Day="29" Month="9" Year="1999"/> <Author>CAN</Author> <Comment>changes due to MAC_POLL_REQ</Comment> </History> </Primitive> <Primitive> <Description> <Section>Indication used by MAC to transfer downlink data to the RLC sublayer.</Section> </Description> <PrimDef> <Name>MAC_DATA_IND</Name> <PrimID Direction="DOWNLINK" Number="0"/> <PrimUsage> <Sender>MAC</Sender> <Receiver>RLC</Receiver> </PrimUsage> </PrimDef> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>fn</Name> </ItemLink> <Comment>Framenumber</Comment> </PrimItem> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>rx_no</Name> </ItemLink> <Comment>Number of received Timeslots</Comment> </PrimItem> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>dl_data</Name> </ItemLink> <Comment>Downlink Data</Comment> </PrimItem> <History> <Date Day="26" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> </Primitive> <Primitive> <Description> <Section>This primitive indicates the number of the last tansmitted RLC data Block.</Section> </Description> <PrimDef> <Name>MAC_READY_IND</Name> <PrimID Direction="DOWNLINK" Number="1"/> <PrimUsage> <Sender>MAC</Sender> <Receiver>RLC</Receiver> </PrimUsage> </PrimDef> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>nts</Name> </ItemLink> <Comment>Maximum number of Timeslots for uplink TBF</Comment> </PrimItem> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>fn</Name> </ItemLink> <Comment>Framenumber</Comment> </PrimItem> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>rlc_blocks_sent</Name> </ItemLink> <Comment>number of transmitted rlc/mac blocks (except polling)</Comment> </PrimItem> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>last_poll_resp</Name> </ItemLink> <Comment>Last Poll Response</Comment> </PrimItem> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>ta_value</Name> </ItemLink> <Comment>Timing Advance Value</Comment> </PrimItem> <History> <Date Day="26" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> <History> <Date Day="21" Month="2" Year="2000"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.7</Comment> </History> </Primitive> <Primitive> <Description> <Section>Request used by the RLC sublayer for uplink poll block transmission.</Section> </Description> <PrimDef> <Name>MAC_POLL_REQ</Name> <PrimID Direction="UPLINK" Number="1"/> <PrimUsage> <Sender>RLC</Sender> <Receiver>MAC</Receiver> </PrimUsage> </PrimDef> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>ul_poll_resp</Name> </ItemLink> <Comment>Uplink Poll Response</Comment> </PrimItem> <History> <Date Day="29" Month="9" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> </Primitive> <Primitive> <Description> <Section>This primitive indicates new received signal level samples used for transmit power control purposes.</Section> </Description> <PrimDef> <Name>MAC_PWR_CTRL_IND</Name> <PrimID Direction="DOWNLINK" Number="2"/> <PrimUsage> <Sender>MAC</Sender> <Receiver>RLC</Receiver> </PrimUsage> </PrimDef> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>assignment_id</Name> </ItemLink> <Comment>Assignment identifier</Comment> </PrimItem> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>crc_error</Name> </ItemLink> <Comment>CRC error</Comment> </PrimItem> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>bcch_level</Name> </ItemLink> <Comment>Signal level of BCCH serving Cell</Comment> </PrimItem> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>radio_freq</Name> </ItemLink> <Control>[MAC_BURST_PER_BLOCK]</Control> <Comment>Radio frequency of the TDMA frame</Comment> </PrimItem> <PrimItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>burst_level</Name> </ItemLink> <Control>[MAC_BURST_PER_BLOCK]</Control> <Comment>Signal level of the first valid downlink PDCH</Comment> </PrimItem> <History> <Date Day="21" Month="11" Year="2000"/> <Author>SAB</Author> <Comment>Initial, used for transmit power control</Comment> </History> <History> <Date Day="29" Month="11" Year="2002"/> <Author>CAN</Author> <Comment>Add parameter <pch></Comment> </History> <History> <Date Day="26" Month="2" Year="2003"/> <Author>SAB</Author> <Comment>Remove parameter <pch></Comment> </History> </Primitive> </PrimitivesSection> <PrimStructElementsSection> <Description> <Section>Parameters shall be part of the primitives described above and if applied the parameters shall contain the values specified here. These values are selected to correspond to element values used in the air interface protocol.</Section> </Description> <PrimStructElem> <Description> <Section>This pointer indicates the position of the polled block(s).</Section> </Description> <PrimStructElemDef Type="STRUCT"> <Name>ul_poll_resp</Name> <Comment>Uplink Poll Response</Comment> </PrimStructElemDef> <PrimStructElemItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>block_status</Name> </ItemLink> <Comment>Block Status</Comment> </PrimStructElemItem> <PrimStructElemItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>tn</Name> </ItemLink> <Comment>Timeslot number</Comment> </PrimStructElemItem> <PrimStructElemItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>ul_block</Name> </ItemLink> <Control>[13]</Control> <Comment>Uplink block</Comment> </PrimStructElemItem> <History> <Date Day="29" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> <History> <Date Day="29" Month="9" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.6</Comment> </History> <History> <Date Day="21" Month="2" Year="2000"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.7</Comment> </History> </PrimStructElem> <PrimStructElem> <Description> <Section>This pointer indicates the position of the RLC/MAC block.</Section> </Description> <PrimStructElemDef Type="STRUCT"> <Name>ul_data</Name> <Comment>Uplink Data</Comment> </PrimStructElemDef> <PrimStructElemItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>block_status</Name> </ItemLink> <Comment>Block Status</Comment> </PrimStructElemItem> <PrimStructElemItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>ul_block</Name> </ItemLink> <Control>[28]</Control> <Comment>Uplink block</Comment> </PrimStructElemItem> <History> <Date Day="29" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> <History> <Date Day="29" Month="9" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.6</Comment> </History> <History> <Date Day="21" Month="2" Year="2000"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.7</Comment> </History> </PrimStructElem> <PrimStructElem> <Description> <Section>This pointer indicates the position of the RLC/MAC block.</Section> </Description> <PrimStructElemDef Type="STRUCT"> <Name>dl_data</Name> <Comment>Downlink Data</Comment> </PrimStructElemDef> <PrimStructElemItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>block_status</Name> </ItemLink> <Comment>Block Status</Comment> </PrimStructElemItem> <PrimStructElemItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>tn</Name> </ItemLink> <Comment>Timeslot number</Comment> </PrimStructElemItem> <PrimStructElemItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>d_macc</Name> </ItemLink> <Comment>Accumulated Metric</Comment> </PrimStructElemItem> <PrimStructElemItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>d_nerr</Name> </ItemLink> <Comment>Number of estimated erorrs</Comment> </PrimStructElemItem> <PrimStructElemItem Presentation="MANDATORY"> <ItemLink> <DocName DocType="SAP">mac</DocName> <Name>dl_block</Name> </ItemLink> <Control>[27]</Control> <Comment>Downlink block</Comment> </PrimStructElemItem> <History> <Date Day="29" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> <History> <Date Day="29" Month="9" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.6</Comment> </History> <History> <Date Day="21" Month="2" Year="2000"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.7</Comment> </History> </PrimStructElem> </PrimStructElementsSection> <PrimBasicElementsSection> <Description> <Section>Parameters shall be part of the primitives described above and if applied the parameters shall contain the values specified here. These values are selected to correspond to element values used in the air interface protocol.</Section> </Description> <PrimBasicElem> <Description> <Section>This parameter indicates maximum number of timeslots allocated for RLC/MAC data block.</Section> </Description> <PrimBasicElemDef> <Name>nts</Name> <Type>U8</Type> <Comment>Maximum number of Timeslots for uplink TBF</Comment> </PrimBasicElemDef> <History> <Date Day="29" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>This parameter indicates the Framenumber of the received RLC/MAC blocks.</Section> </Description> <PrimBasicElemDef> <Name>fn</Name> <Type>U32</Type> <Comment>Framenumber</Comment> </PrimBasicElemDef> <History> <Date Day="29" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>This parameter indicates the number of transmitted RLC/MAC data bolcks.</Section> </Description> <PrimBasicElemDef> <Name>rlc_blocks_sent</Name> <Type>U8</Type> <Comment>number of transmitted rlc/mac blocks (except polling)</Comment> </PrimBasicElemDef> <History> <Date Day="29" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> <History> <Date Day="21" Month="2" Year="2000"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.7</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>This parameter indicates the number of received timeslots in the last bolck.</Section> </Description> <PrimBasicElemDef> <Name>rx_no</Name> <Type>U16</Type> <Comment>Number of received Timeslots</Comment> </PrimBasicElemDef> <History> <Date Day="29" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>This field indicates the Coding Scheme of the RLC/MAC block.</Section> </Description> <PrimBasicElemDef> <Name>block_status</Name> <Type>U16</Type> <Comment>Block Status</Comment> </PrimBasicElemDef> <History> <Date Day="29" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> <History> <Date Day="29" Month="9" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.6</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>This parameter indicates the timeslot on which the RLC/MAC block was received.</Section> </Description> <PrimBasicElemDef> <Name>tn</Name> <Type>U16</Type> <Comment>Timeslot number</Comment> </PrimBasicElemDef> <History> <Date Day="29" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>Pointer on a RLC/MAC block.</Section> </Description> <PrimBasicElemDef> <Name>ul_block</Name> <Type>U16</Type> <Comment>Uplink block</Comment> </PrimBasicElemDef> <History> <Date Day="29" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>Pointer on a RLC/MAC block.</Section> </Description> <PrimBasicElemDef> <Name>dl_block</Name> <Type>U16</Type> <Comment>Downlink block</Comment> </PrimBasicElemDef> <History> <Date Day="29" Month="3" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> <History> <Date Day="4" Month="8" Year="1999"/> <Author>CAN</Author> <Comment>updated from s921bis Vers 0.5</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>This parameter indicates if the poll blocks in the previous block is sent or not.</Section> </Description> <PrimBasicElemDef> <Name>last_poll_resp</Name> <Type>U8</Type> <Comment>Last Poll Response</Comment> </PrimBasicElemDef> <History> <Date Day="29" Month="9" Year="1999"/> <Author>CAN</Author> <Comment>Initial</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>This parameter indicates if the Timing Advance Value.</Section> </Description> <PrimBasicElemDef> <Name>ta_value</Name> <Type>U8</Type> <Comment>Timing Advance Value</Comment> </PrimBasicElemDef> <History> <Date Day="21" Month="2" Year="2000"/> <Author>CAN</Author> <Comment>Initial, added in s921_bis 0.7</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>Accumulated Metric is reported by the channel decoder. Max is 456 * 56 = 25536.</Section> </Description> <PrimBasicElemDef> <Name>d_macc</Name> <Type>U16</Type> <Comment>Accumulated Metric</Comment> </PrimBasicElemDef> <History> <Date Day="21" Month="2" Year="2000"/> <Author>CAN</Author> <Comment>Initial, added in s921_bis 0.7</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>This parameter indicates the number of errors(max=456), reported by the channel decoder.</Section> </Description> <PrimBasicElemDef> <Name>d_nerr</Name> <Type>U16</Type> <Comment>Number of estimated erorrs</Comment> </PrimBasicElemDef> <History> <Date Day="21" Month="2" Year="2000"/> <Author>CAN</Author> <Comment>Initial, added in s921_bis 0.7</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>Level of the four normal burst of the PDCH monitored on the downlink.</Section> </Description> <PrimBasicElemDef> <Name>burst_level</Name> <Type>U8</Type> <Comment>Signal level of the first valid downlink PDCH; .</Comment> </PrimBasicElemDef> <History> <Date Day="21" Month="11" Year="2000"/> <Author>SAB</Author> <Comment>Initial, used for transmit power control</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>ARFCN of the four normal burst of the PDCH monitored on the downlink.</Section> </Description> <PrimBasicElemDef> <Name>radio_freq</Name> <Type>U16</Type> <Comment>Radio frequency of the TDMA frame; .</Comment> </PrimBasicElemDef> <History> <Date Day="21" Month="11" Year="2000"/> <Author>SAB</Author> <Comment>Initial, used for transmit power control</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>The parameter corresponds to the received signal level of the BCCH serving cell.</Section> </Description> <PrimBasicElemDef> <Name>bcch_level</Name> <Type>U8</Type> <Comment>Signal level of BCCH serving Cell; .</Comment> </PrimBasicElemDef> <ValuesLink> <DocName DocType="SAP">mac</DocName> <Name>VAL_bcch_level</Name> </ValuesLink> <History> <Date Day="21" Month="11" Year="2000"/> <Author>SAB</Author> <Comment>Initial, used for transmit power control</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>Indicates if the radio block on which the measurements are done has CRC error or not.</Section> </Description> <PrimBasicElemDef> <Name>crc_error</Name> <Type>U8</Type> <Comment>CRC error; .</Comment> </PrimBasicElemDef> <ValuesLink> <DocName DocType="SAP">mac</DocName> <Name>VAL_crc_error</Name> </ValuesLink> <History> <Date Day="21" Month="11" Year="2000"/> <Author>SAB</Author> <Comment>Initial, used for transmit power control</Comment> </History> </PrimBasicElem> <PrimBasicElem> <Description> <Section>This element is an identifier to distinguish between different TBF configures.</Section> </Description> <PrimBasicElemDef> <Name>assignment_id</Name> <Type>U32</Type> <Comment>assignment identifier; .</Comment> </PrimBasicElemDef> <History> <Date Day="21" Month="11" Year="2000"/> <Author>SAB</Author> <Comment>Initial, used for transmit power control</Comment> </History> </PrimBasicElem> </PrimBasicElementsSection> <ValuesSection> <Description> <Section>This section contains all sets of values that are defined for the MAC SAP</Section> </Description> <Values> <Description> <Section>This former local values table was generated by the doc2XML converter tool. Please exchange this description by a more meaningful one !!!</Section> </Description> <ValuesDef> <Name>VAL_bcch_level</Name> <Comment>values for bcch_level</Comment> </ValuesDef> <ValuesItem> <Value ValueType="DEC">0</Value> <Alias>MAC_RXLEV_MIN</Alias> <Comment>minimum receive signal level as defined in GSM 05.08</Comment> </ValuesItem> <ValuesItem> <Value ValueType="DEC">63</Value> <Alias>MAC_RXLEV_MAX</Alias> <Comment>maximum receive signal level as defined in GSM 05.08</Comment> </ValuesItem> <ValuesItem> <Value ValueType="HEX">80</Value> <Alias>MAC_RXLEV_NONE</Alias> <Comment>no valid receive signal level present</Comment> </ValuesItem> <History> <Date Day="9" Month="12" Year="2003"/> <Author>doc2XML</Author> <Comment>Initial</Comment> </History> </Values> <Values> <Description> <Section>This former local values table was generated by the doc2XML converter tool. Please exchange this description by a more meaningful one !!!</Section> </Description> <ValuesDef> <Name>VAL_crc_error</Name> <Comment>values for crc_error</Comment> </ValuesDef> <ValuesItem> <Value ValueType="DEC">0</Value> <Alias>GRLC_CRC_PASS</Alias> <Comment>radio block is correctly received</Comment> </ValuesItem> <ValuesItem> <Value ValueType="DEC">1</Value> <Alias>GRLC_CRC_FAIL</Alias> <Comment>radio block is not correctly received</Comment> </ValuesItem> <History> <Date Day="9" Month="12" Year="2003"/> <Author>doc2XML</Author> <Comment>Initial</Comment> </History> </Values> </ValuesSection> </SAP>