GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > LCS / V1-4-0

Constituent: lcs     Tag: rad750


Interface   Data Structures   File List   Data Fields   Globals  

LCS_pubdefs.h File Reference

Public definitions for the LCS package. More...

#include "PBS/TASK.h"
#include "ITC/ITC_pubdefs.h"
#include "LEM/defs.h"

Include dependency graph for LCS_pubdefs.h:

This graph shows which files directly or indirectly include this file:


Typedefs

typedef _LCS_Control LCS_Control
 Typedef for struct _LCS_Control.
typedef _LRX_Engine LRX_Engine
 Typedef for struct _LRX_Engine.
typedef _LTX_Engine LTX_Engine
 Typedef for struct _LTX_Engine.
typedef _LTX_Timing LTX_Timing
 Typedef for struct _LTX_Timing.
typedef enum _LCS_NodeAddress LCS_NodeAddress
 Typedef for enum _LCS_NodeAddress.
typedef void * LRX_cb_Alloc (ITC_Queue *queue, unsigned int siz, ITC_cb_Completion **rtn, void **cb0, void **cb1, void **cb2)
 Signature for callback called within queue item allocation.
typedef void LRX_cb_Stop (void *prm)
 Signature for an LRX service stop callback routine.

Enumerations

enum  _LCS_NodeAddress {
  LCS_NIH_NONE = 0x30,
  LCS_NIH_SIUE = LEM_ADDR_SIU_EXT,
  LCS_NIH_EPU3 = LEM_ADDR_SIU_EXT,
  LCS_NIH_SIU0 = LEM_ADDR_SIU_0,
  LCS_NIH_SIU1 = LEM_ADDR_SIU_1,
  LCS_NIH_EPU0 = LEM_ADDR_EPU_0,
  LCS_NIH_EPU1 = LEM_ADDR_EPU_1,
  LCS_NIH_EPU2 = LEM_ADDR_EPU_2,
  LCS_NIH_SDI = 0x27,
  LCS_NIH_BCST = LEM_ADDR_MST_BCAST
}
 Enumeration of LCB hardware addresses. More...

Functions

unsigned int LCS_configure (void)
 Configure the LCS system from a CDM configuration database.
LCS_ControlLCS_getControl (void)
 Return the LCS control handle.
LCS_NodeAddress LCS_getNodeAddress (ITC_NodeID nid)
 Return the LCB hardware node address for a logical ITC node ID.
unsigned int LCS_initialize (LCS_NodeAddress deprecated)
 Initialize the LCS master control block.
unsigned int LCS_rundown (void)
 Run down the LCS tasks/resources configured with LCS_configure().
unsigned int LCS_shutdown (void)
 Shut down the LCS master control block and release resources.
unsigned int LRX_createService (void)
 Initialize an LRX service control block.
unsigned int LRX_deleteService (void)
 Delete the LTX service task and associated resources.
unsigned int LRX_startService (void)
 Set the protocol 2 and 3 handlers in the LCB event task.
unsigned int LRX_stopService (LRX_cb_Stop *rtn, void *prm)
 Stop the task implementing the LCS service layer.
unsigned int LTX_createService (ITC_TaskID tid, unsigned int nim, unsigned int pgs, unsigned int mto, ITC_cb_Memory *rtn, void *prm)
 Create an LTX service task for CPU/CPU communications.
unsigned int LTX_createServiceCPU (ITC_TaskID tid, unsigned int nim, unsigned int pgs, unsigned int mto, ITC_cb_Memory *rtn, void *prm)
 Create an LTX service task for CPU/CPU communications.
unsigned int LTX_createServiceSDI (unsigned int pgs)
 Create an LTX service task for CPU/SDI communications.
unsigned int LTX_deleteService (ITC_TaskID tid)
 Delete the LTX service task and associated resources.
ITC_NodeID LCS_getNodeID (LCS_NodeAddress nih)
 Return the logical ITC node ID for an LCB hardware node address.
unsigned int LCS_setNodeAddressSIU (LCS_NodeAddress nih)
 Set the hardware address of the SIU (on EPU only).
unsigned int LTX_startService (ITC_TaskID tid, TASK_attr *attr)
 Start an LTX communications service task.
unsigned int LTX_stopService (ITC_TaskID tid)
 Stop the task implementing the LCS service layer.

Detailed Description

Public definitions for the LCS package.

CVS $Id: LCS_pubdefs.h,v 1.9 2006/01/23 23:55:05 apw Exp $
Author:
A.P.Waite

Enumeration Type Documentation

enum _LCS_NodeAddress
 

Enumeration of LCB hardware addresses.

Enumerator:
LCS_NIH_NONE  Guard value
LCS_NIH_SIUE  SIU external
LCS_NIH_EPU3  EPU 3
LCS_NIH_SIU0  SIU 0 (<=> spacecraft redundant)
LCS_NIH_SIU1  SIU 1 (<=> spacecraft primary)
LCS_NIH_EPU0  EPU 0
LCS_NIH_EPU1  EPU 1
LCS_NIH_EPU2  EPU 2
LCS_NIH_SDI  Science data interface (SSR)
LCS_NIH_BCST  CPU broadcast


Function Documentation

unsigned int LCS_configure void   ) 
 

Configure the LCS system from a CDM configuration database.

Return values:
LCS_SUCCESS Success
LCS_configure() creates and starts the LCS services (both transmit and receive, and in the case of transmit, both CPU/CPU and CPU/SDI) based on parameters found in the LCS CDM configuration database.

LCS_Control * LCS_getControl void   ) 
 

Return the LCS control handle.

Return values:
x LCS control handle
NULL Cannot find handle

LCS_NodeAddress LCS_getNodeAddress ITC_NodeID  nid  ) 
 

Return the LCB hardware node address for a logical ITC node ID.

Parameters:
nid (in) ITC (logical) node ID
Return values:
LCS_NIH_NONE LCB (hardware) address not known
LCS_NIH_SIU0 LCB (hardware) address for SIU 0 (SC "redundant SIU")
LCS_NIH_SIU1 LCB (hardware) address for SIU 1 (SC "primary SIU")
LCS_NIH_EPU0 LCB (hardware) address for EPU 0
LCS_NIH_EPU1 LCB (hardware) address for EPU 1
LCS_NIH_EPU2 LCB (hardware) address for EPU 2
LCS_NIH_EPU3 LCB (hardware) address for EPU 3/external SIU
LCS_NIH_SDI LCB (hardware) address for science data interface
LCS_getNodeAddress() returns the LCB (hardware) address corresponding to an ITC (logical) node.

ITC_NodeID LCS_getNodeID LCS_NodeAddress  nih  ) 
 

Return the logical ITC node ID for an LCB hardware node address.

Parameters:
nih (in) LCS (hardware) address
Return values:
ITC_NID_NONE ITC (logical) node ID not known
ITC_NID_SIU ITC (logical) node ID SIU
ITC_NID_EPU0 ITC (logical) node ID EPU 0
ITC_NID_EPU1 ITC (logical) node ID EPU 1
ITC_NID_EPU2 ITC (logical) node ID EPU 2
ITC_NID_EPU3 ITC (logical) node ID EPU 3/external SIU
ITC_NID_SSR ITC (logical) node ID SSR
LCS_getNodeID() returns the ITC (logical) node ID corresponding to an LCB (hardware) address.

unsigned int LCS_initialize LCS_NodeAddress  deprecated  ) 
 

Initialize the LCS master control block.

Parameters:
deprecated (in) This parameter is no longer used (ignored)
Return values:
LCS_ALOCFAIL Memory allocation failure
LCS_CTLSTAT Invalid control state for this operation
LCS_MUALOCFL Mutex allocation failure
LCS_SUCCESS Success
LCS_initialize() initializes the LCS master control block.

unsigned int LCS_rundown void   ) 
 

Run down the LCS tasks/resources configured with LCS_configure().

Return values:
LCS_SUCCESS Success
LCS_rundown() uses contextual information gathered during LCS_configure() to run down all the LCS tasks and their associated resources.

unsigned int LCS_setNodeAddressSIU LCS_NodeAddress  nih  ) 
 

Set the hardware address of the SIU (on EPU only).

Parameters:
nih (in) Hardware address of the SIU
Return values:
LCS_NOTINIT LCS control block not available
LCS_NOTSIUND Node address is not valid for an SIU
LCS_SUCCESS Success
LCS_setNodeAddressSIU() sets up the SIU hardware node address in the LCS mapping tables. Written as a separate routine because the SIU's hardware address cannot be determined until the LCB is initialized. This functionality is only needed on an EPU.

unsigned int LCS_shutdown void   ) 
 

Shut down the LCS master control block and release resources.

Return values:
LCS_CTLSTAT Invalid control state for this operation
LCS_NOTINT Control block not initialized
LCS_SUCCESS Success
LCS_shutdown() shuts down the LCS master control block and releases assocoated resources

unsigned int LRX_createService void   ) 
 

Initialize an LRX service control block.

Return values:
LCS_ALOCFAIL Memory allocation failure
LCS_CTLSTAT Invalid control state for this operation
LCS_NOTINIT LCS master control block does not exist
LCS_RXCBEXST LRX control block already exists
LCS_RXNGNINI Cannot create LRX receive engines
LCS_SUCCESS Success
LRX_createService() creates and intializes LRX services

unsigned int LRX_deleteService void   ) 
 

Delete the LTX service task and associated resources.

Return values:
LCS_CTLSTAT LCS master control block not in requested state
LCS_NOTINIT LCS master control block does not exist
LCS_SUCCESS Success
LCS_SVCHNDL LRX service control block does not exist
LCS_SVCSTAT LRX service control block not in requested state
LRX_deleteService() deletes the LRX service task and associated resources.

unsigned int LRX_startService void   ) 
 

Set the protocol 2 and 3 handlers in the LCB event task.

Return values:
LCS_CTLSTAT LCS master control block not in requested state
LCS_NOTINIT LCS master control block does not exist
LCS_SUCCESS Success
LCS_SVCHNDL LRX service control block does not exist
LCS_SVCSTAT LRX service control block not in requested state
LRX_startService() starts an LRX communications service task.

unsigned int LRX_stopService LRX_cb_Stop rtn,
void *  prm
 

Stop the task implementing the LCS service layer.

Parameters:
rtn (in) LRX service stop callback routine
prm (in) LRX service stop callback routine parameter
Return values:
LCS_CTLSTAT LCS master control block not in requested state
LCS_NOTINIT LCS master control block does not exist
LCS_SUCCESS Success
LCS_SVCHNDL LRX service control block does not exist
LCS_SVCSTAT LRX service control block not in requested state
LRX_stopService() starts the process of draining the LRX service.

unsigned int LTX_createService ITC_TaskID  tid,
unsigned int  nim,
unsigned int  pgs,
unsigned int  mto,
ITC_cb_Memory *  rtn,
void *  prm
 

Create an LTX service task for CPU/CPU communications.

Parameters:
tid (in) ITC task ID (from service set of tasks)
nim (in) Mask of ITC nodes served by this service
pgs (in) Number of 512 byte pages per packet (maximum 7)
mto (in) Message exchange timeout period (nsecs)
rtn (in) Command confirmation memory allocator
prm (in) Command confirmation memory allocator parameter
Warning:
This entry point is depcrecated. Use LTX_createServiceCPU() instead.
Return values:
LCS_ALOCFAIL Memory allocation failure
LCS_CTLSTAT LCS master control block not in requested state
LCS_NOTINIT LCS master control block does not exist
LCS_SUCCESS Success
LCS_TXCBEXST Task control block already exists
LCS_TXNGNINI Cannot create transmit engines
LCS_TXQUEINI Cannot create queues
LCS_TXSVCID Task id is invalid for an LTX service task
LCS_TXSVCPGS Packet page count out of range
LTX_createService() creates an LTX service task for CPU/CPU communications.

unsigned int LTX_createServiceCPU ITC_TaskID  tid,
unsigned int  nim,
unsigned int  pgs,
unsigned int  mto,
ITC_cb_Memory *  rtn,
void *  prm
 

Create an LTX service task for CPU/CPU communications.

Parameters:
tid (in) ITC task ID (from service set of tasks)
nim (in) Mask of ITC nodes served by this service
pgs (in) Number of 512 byte pages per packet (maximum 7)
mto (in) Message exchange timeout period (nsecs)
rtn (in) Command confirmation memory allocator
prm (in) Command confirmation memory allocator parameter
Return values:
LCS_ALOCFAIL Memory allocation failure
LCS_CTLSTAT LCS master control block not in requested state
LCS_NOTINIT LCS master control block does not exist
LCS_SUCCESS Success
LCS_TXCBEXST Task control block already exists
LCS_TXNGNINI Cannot create transmit engines
LCS_TXQUEINI Cannot create queues
LCS_TXSVCID Task id is invalid for an LTX service task
LCS_TXSVCPGS Packet page count out of range
LTX_createServiceCPU() creates an LTX service task for CPU/CPU communications.

unsigned int LTX_createServiceSDI unsigned int  pgs  ) 
 

Create an LTX service task for CPU/SDI communications.

Parameters:
pgs (in) Number of 512 byte pages per packet (maximum 7)
Return values:
LCS_ALOCFAIL Memory allocation failure
LCS_CTLSTAT LCS master control block not in requested state
LCS_NOTINIT LCS master control block does not exist
LCS_SUCCESS Success
LCS_TXCBEXST Task control block already exists
LCS_TXNGNINI Cannot create transmit engines
LCS_TXQUEINI Cannot create queues
LCS_TXSVCID Task id is invalid for an LTX service task
LCS_TXSVCPGS Packet page count out of range
LTX_createServiceSDI() creates an LTX service task for CPU/SDI communications.

unsigned int LTX_deleteService ITC_TaskID  tid  ) 
 

Delete the LTX service task and associated resources.

Parameters:
tid (in) ITC task ID (from service set of tasks)
Return values:
LCS_CTLSTAT LCS master control block not in requested state
LCS_NOTINIT LCS master control block does not exist
LCS_SUCCESS Success
LCS_SVCHNDL LTX service control block does not exist
LCS_SVCSTAT LTX service control block not in requested state
LCS_TXSVCID Task id is invalid for an LTX service task
LTX_deleteService() deletes the LTX service task and associated resources.

unsigned int LTX_startService ITC_TaskID  tid,
TASK_attr *  attr
 

Start an LTX communications service task.

Parameters:
tid (in) ITC task ID (from service set of tasks)
attr (in) Task attributes
Return values:
LCS_CTLSTAT LCS master control block not in requested state
LCS_NOTINIT LCS master control block does not exist
LCS_SUCCESS Success
LCS_SVCHNDL LTX service control block does not exist
LCS_SVCSTAT LTX service control block not in requested state
LCS_TXSVCID Task id is invalid for an LTX service task
LTX_startService() starts a service layer LTX task.

unsigned int LTX_stopService ITC_TaskID  tid  ) 
 

Stop the task implementing the LCS service layer.

Parameters:
tid (in) ITC task ID (from service set of tasks)
Return values:
LCS_CTLSTAT LCS master control block not in requested state
LCS_NOTINIT LCS master control block does not exist
LCS_SUCCESS Success
LCS_SVCHNDL LTX service control block does not exist
LCS_SVCSTAT LTX service control block not in requested state
LCS_TXSVCID Task id is invalid for an LTX service task
LTX_stopService() stops a service layer LTX task.


Generated on Mon Jan 23 21:20:42 2006 by  doxygen 1.4.4