FreeCalypso > hg > fc-magnetite
annotate src/g23m-gprs/upm/upm_mm_output_handler.c @ 619:5a0ddb29c58e
targets/dsp34test.{conf,h} created for DSP 34 experiments
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sun, 06 Oct 2019 22:25:10 +0000 | 
| parents | 2cf312e56ee7 | 
| children | 
| rev | line source | 
|---|---|
| 197 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /*---------------------------------------------------------------------------- | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 | Project : 3G PS | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 | Module : UPM | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 +----------------------------------------------------------------------------- | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 | Copyright 2003 Texas Instruments. | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | All rights reserved. | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | This file is confidential and a trade secret of Texas | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 | Instruments . | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 | The receipt of or possession of this file does not convey | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 | any rights to reproduce or disclose its contents or to | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 | manufacture, use, or sell anything it may describe, in | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 | whole, or in part, without the specific written consent of | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 | Texas Instruments. | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 +----------------------------------------------------------------------------- | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 | Purpose: Output functions for primitives from UPM to the MM entity. | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 | For design details, see: | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 | 8010.939 UPM Detailed Specification | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 +---------------------------------------------------------------------------*/ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 /*==== DECLARATION CONTROL =================================================*/ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 /*==== INCLUDES ============================================================*/ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 #include "upm.h" | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 #include "upm_mm_output_handler.h" | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 /*==== CONSTS ===============================================================*/ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 /*==== TYPES ================================================================*/ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 /*==== LOCALS ===============================================================*/ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 /*==== PUBLIC FUNCTIONS =====================================================*/ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 /* | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 +------------------------------------------------------------------------------ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 | Function : send_mmpm_reestablish_req | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 +------------------------------------------------------------------------------ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 | Description : Allocate, pack and send MMPM_REESTABLISH_RES primitive. | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 | | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 | Parameters : None | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 +------------------------------------------------------------------------------ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 */ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 #ifdef TI_UMTS | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 void send_mmpm_reestablish_req(U8 most_demanding) | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 { | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 U8 establish_cause; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 (void)TRACE_FUNCTION("send_mmpm_reestablish_req"); | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 switch ((T_PS_tc)most_demanding) { | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 case PS_TC_CONV: | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 establish_cause = (U8)MMPM_CAUSE_ESTABL_ORIG_CONVERSATIONAL; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 break; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 case PS_TC_STREAM: | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 establish_cause = (U8)MMPM_CAUSE_ESTABL_ORIG_STREAMING; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 break; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 case PS_TC_INTER: | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 establish_cause = (U8)MMPM_CAUSE_ESTABL_ORIG_INTERACTIVE; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 break; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 case PS_TC_BG: | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 establish_cause = (U8)MMPM_CAUSE_ESTABL_ORIG_BACKGROUND; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 break; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 case PS_TC_SUB: | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 establish_cause = (U8)MMPM_CAUSE_ESTABL_ORIG_BACKGROUND; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 break; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 } | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 { | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 PALLOC(prim, MMPM_REESTABLISH_REQ); | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 prim->establish_cause = establish_cause; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 (void)PSEND(hCommMM, prim); | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 } | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 } | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 #endif /* TI_UMTS */ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 /* | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 +------------------------------------------------------------------------------ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 | Function : send_mmpm_sequence_res | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 +------------------------------------------------------------------------------ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 | Description : Allocate, pack and send MMPM_SEQUENCE_RES primitive. | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 | | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 | Parameters : sn_sequence_cnf - SN_SEQUENCE_CNF primitive | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 +------------------------------------------------------------------------------ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 */ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 #ifdef TI_GPRS | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 void send_mmpm_sequence_res(T_SN_SEQUENCE_CNF *sn_sequence_cnf) | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 { | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 U16 index; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 (void)TRACE_FUNCTION("send_mmpm_sequence_res"); | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 { | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 PALLOC(prim, MMPM_SEQUENCE_RES); | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 /*lint -e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 prim->c_npdu_list = sn_sequence_cnf->c_receive_no_list; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 memcpy(&prim->npdu_list, sn_sequence_cnf->receive_no_list, | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 (size_t)sn_sequence_cnf->c_receive_no_list * sizeof(T_MMPM_npdu_list)); | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 for (index = 0; index < (U16)sn_sequence_cnf->c_receive_no_list; index++) | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 { | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 prim->npdu_list[index].nsapi = sn_sequence_cnf->receive_no_list[index].nsapi; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 prim->npdu_list[index].receive_n_pdu_number_val = sn_sequence_cnf->receive_no_list[index].receive_no; | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 } | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 /*lint +e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 (void)PSEND(hCommMM, prim); | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 } | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 } | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 #endif /* TI_GPRS */ | 
| 
2cf312e56ee7
src/g23m-gprs/upm: import from LoCosto source
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 /*==== END OF FILE ==========================================================*/ | 
