diff src/aci2/aci/psa_pktios.c @ 3:93999a60b835

src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 26 Sep 2016 00:29:36 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/aci2/aci/psa_pktios.c	Mon Sep 26 00:29:36 2016 +0000
@@ -0,0 +1,198 @@
+/*
++------------------------------------------------------------------------------
+|  File:       psa_pktios.c
++------------------------------------------------------------------------------
+|  Copyright 2002 Texas Instruments Berlin, AG 
+|                 All rights reserved. 
+| 
+|                 This file is confidential and a trade secret of Texas 
+|                 Instruments Berlin, AG 
+|                 The receipt of or possession of this file does not convey 
+|                 any rights to reproduce or disclose its contents or to 
+|                 manufacture, use, or sell anything it may describe, in 
+|                 whole, or in part, without the specific written consent of 
+|                 Texas Instruments Berlin, AG.
++------------------------------------------------------------------------------
+| Purpose:     This module defines the signalling functions of the
+|              protocol stack adapter for packet i/o managment (MNPKTIO)
++------------------------------------------------------------------------------
+*/
+
+#ifdef GPRS
+#ifdef FF_PKTIO
+#ifndef PSA_PKTIOS_C
+#define PSA_PKTIOS_C
+#endif
+
+#include "aci_all.h"
+/*==== INCLUDES ===================================================*/
+#include "dti.h"      /* functionality of the dti library */
+#include "aci_cmh.h"
+#include "ati_cmd.h"
+#include "aci_cmd.h"
+#include "aci_lst.h"
+#include "aci.h"
+#include "psa.h"
+#include "dti_conn_mng.h"
+#include "dti_cntrl_mng.h"
+#include "psa_pktio.h"
+#include "cmh.h"
+
+
+/*==== CONSTANTS ==================================================*/
+
+
+/*==== TYPES ======================================================*/
+
+
+/*==== EXPORT =====================================================*/
+   
+/*==== VARIABLES ==================================================*/
+
+
+/*==== FUNCTIONS ==================================================*/
+
+/*
++-------------------------------------------------------------------+
+| PROJECT : GPRS (8441)           MODULE  : PSA_PKTIOS              |
+| STATE   : finished              ROUTINE : psaPKT_ConnectRej       |
++-------------------------------------------------------------------+
+
+  PURPOSE : Indicates that ACI can not handle a DTI connection with PKTIO
+
+*/
+GLOBAL void psaPKT_ConnectRej ( UBYTE device_no)
+{
+  TRACE_FUNCTION ("psaPKT_ConnectRej()");
+  {
+    PALLOC ( pkt_connect_rej, PKT_CONNECT_REJ);
+    pkt_connect_rej->device_no = device_no;
+    PSEND (hCommPKTIO, pkt_connect_rej);
+  }
+}
+
+/*
++-------------------------------------------------------------------+
+| PROJECT : GPRS (8441)           MODULE  : PSA_PKTIOS              |
+| STATE   : finished              ROUTINE : psaPKT_ConnectRes       |
++-------------------------------------------------------------------+
+
+  PURPOSE : Response to PKT_CONNECT_IND sent by PKTIO with confirmed
+            DIO capabilities
+
+*/
+GLOBAL void psaPKT_ConnectRes ( UBYTE device_no, 
+                                T_ACI_PKTIO_CAP * pktio_cap)
+{
+  TRACE_FUNCTION ("psaPKT_ConnectRes()");
+  {
+    PALLOC ( pkt_connect_res, PKT_CONNECT_RES);
+    memcpy(&pkt_connect_res->dio_dcb,pktio_cap,sizeof(T_ACI_PKTIO_CAP));
+    pkt_connect_res->device_no = device_no;
+    PSEND (hCommPKTIO, pkt_connect_res);
+  }
+}
+
+
+/*
++-------------------------------------------------------------------+
+| PROJECT : GPRS (8441)           MODULE  : PSA_PKTIOS              |
+| STATE   : finished              ROUTINE : psaPKT_DTICloseReq      |
++-------------------------------------------------------------------+
+
+  PURPOSE : Request closing of DTI connection with PKTIO
+
+*/
+GLOBAL void psaPKT_DTICloseReq ( UBYTE device_no)
+{
+  TRACE_FUNCTION ("psaPKT_DTICloseReq()");
+  {
+    PALLOC ( pkt_dti_close_req, PKT_DTI_CLOSE_REQ);
+    pkt_dti_close_req->device_no = device_no;
+    PSEND (hCommPKTIO, pkt_dti_close_req);
+  }
+}
+
+/*
++-------------------------------------------------------------------+
+| PROJECT : GPRS (8441)           MODULE  : PSA_PKTIOS              |
+| STATE   : finished              ROUTINE : psaPKT_DTIOpenReq       |
++-------------------------------------------------------------------+
+
+  PURPOSE : Request opening of DTI connection with PKTIO
+
+*/
+GLOBAL void psaPKT_DTIOpenReq ( UBYTE device_no, const char * peer_name,
+                                ULONG link_id, UBYTE dti_direction)
+{
+  TRACE_FUNCTION ("psaPKT_DTIOpenReq()");
+  {
+    PALLOC ( pkt_dti_open_req, PKT_DTI_OPEN_REQ);
+    pkt_dti_open_req->device_no = device_no;
+    pkt_dti_open_req->peer = (ULONG)peer_name;
+    pkt_dti_open_req->link_id = link_id;
+    pkt_dti_open_req->dti_direction = dti_direction;
+
+    PSEND (hCommPKTIO, pkt_dti_open_req);
+  }
+}
+
+/*
++-------------------------------------------------------------------+
+| PROJECT : GPRS (8441)           MODULE  : PSA_PKTIOS              |
+| STATE   : finished              ROUTINE : psaPKT_ModifyReq        |
++-------------------------------------------------------------------+
+
+  PURPOSE : Request modification of channel parameter 
+            !!Attention!! currently not used
+*/
+GLOBAL void psaPKT_ModifyReq ( UBYTE device_no, 
+                               T_ACI_PKTIO_CAP * pktio_cap)
+{
+  TRACE_FUNCTION ("psaPKT_ModifyReq()");
+  {
+    PALLOC ( pkt_modify_req, PKT_MODIFY_REQ);
+    pkt_modify_req->device_no = device_no;
+    memcpy(&pkt_modify_req->dio_dcb,pktio_cap,sizeof(T_ACI_PKTIO_CAP));
+    PSEND (hCommPKTIO, pkt_modify_req);
+  }
+}
+
+/*
++-------------------------------------------------------------------+
+| PROJECT : GPRS (8441)            MODULE  : PSA_PKTIOS             |
+| STATE   : finished               ROUTINE : psaPKT_Dti_Req         |
++-------------------------------------------------------------------+
+
+  PURPOSE : Request for DTI connection by DTI managment
+
+*/
+GLOBAL void psaPKT_Dti_Req ( ULONG  link_id, UBYTE  peer, 
+                             T_DTI_MNG_PKT_MODE con_mode)
+{
+  UBYTE device_no;
+  T_DTI_CNTRL  device_info;
+  
+  TRACE_FUNCTION ("psaPKT_Dti_Req()"); 
+      
+  dti_cntrl_get_info_from_dti_id(EXTRACT_DTI_ID(link_id), &device_info);
+  device_no = device_info.dev_no;
+  if(con_mode EQ PKT_CONNECT_DTI)
+  {
+    dti_cntrl_set_conn_parms((T_DTI_CONN_LINK_ID)link_id, DTI_ENTITY_PKTIO,
+                              device_info.dev_no, device_info.sub_no);
+
+    psaPKT_DTIOpenReq (device_no,dti_entity_name[peer].name,
+                       link_id, DTI_CHANNEL_TO_LOWER_LAYER);
+  }
+  else
+  { 
+    psaPKT_DTICloseReq(device_no);                           
+  }
+}
+
+
+#endif /* FF_PKTIO */
+#endif  /* GPRS */
+/*==== EOF ========================================================*/
+