GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LCS / V1-5-3 > lcs / sun-gcc
#include "PBS/TASK.h"
#include "ITC/ITC_pubdefs.h"
#include "LEM/defs.h"
#include "LCBD/LCBD_drv.h"
Typedefs | |
typedef struct _LCS_Control | LCS_Control |
Typedef for struct _LCS_Control. | |
typedef struct _LRX_Engine | LRX_Engine |
Typedef for struct _LRX_Engine. | |
typedef struct _LTX_Engine | LTX_Engine |
Typedef for struct _LTX_Engine. | |
typedef struct _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_completeEPU (void) |
Complete the initialization of the LCB (EPU specific). | |
unsigned int | LCS_completeSIU (unsigned int latpAddr) |
Complete the initialization of the LCB (SIU specific). | |
unsigned int | LCS_configure (void) |
Configure the LCS system from a CDM configuration database. | |
unsigned int | LCS_enableEvent (void) |
Enable the event fabric. | |
LCS_Control * | LCS_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 (ITC_TaskID rst, ITC_TaskID evt, ITC_TaskID nut) |
Create and initialize LRX services. | |
unsigned int | LRX_deleteService (void) |
Delete the LTX service task and associated resources. | |
unsigned int | LRX_startService (TASK_attr *rst, TASK_attr *evt, TASK_attr *nut) |
Start the LCB service tasks and configure LCB to use them. | |
unsigned int | LRX_stopService (LRX_cb_Stop *rtn, void *prm) |
Stop 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. | |
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. |
CVS $Id: LCS_pubdefs.h,v 1.11 2006/10/26 02:08:50 apw Exp $
enum _LCS_NodeAddress |
Enumeration of LCB hardware addresses.
unsigned int LCS_completeEPU | ( | void | ) |
Complete the initialization of the LCB (EPU specific).
LCS_LCBFAIL | LCB initialization failed | |
LCS_SUCCESS | Success |
unsigned int LCS_completeSIU | ( | unsigned int | latpAddr | ) |
Complete the initialization of the LCB (SIU specific).
latpAddr | (in) SIU's EBM hardware address |
LCS_NOTSIUND | Illegal SIU hardware address | |
LCS_SUCCESS | Success |
unsigned int LCS_configure | ( | void | ) |
Configure the LCS system from a CDM configuration database.
LCS_SUCCESS | Success |
unsigned int LCS_enableEvent | ( | void | ) |
Enable the event fabric.
LCS_SUCCESS | Success |
LCS_Control * LCS_getControl | ( | void | ) |
Return the LCS control handle.
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.
nid | (in) ITC (logical) node ID |
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 |
ITC_NodeID LCS_getNodeID | ( | LCS_NodeAddress | nih | ) |
Return the logical ITC node ID for an LCB hardware node address.
nih | (in) LCS (hardware) address |
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 |
unsigned int LCS_initialize | ( | LCS_NodeAddress | deprecated | ) |
Initialize the LCS master control block.
deprecated | (in) This parameter is no longer used (ignored) |
LCS_ALOCFAIL | Memory allocation failure | |
LCS_CTLSTAT | Invalid control state for this operation | |
LCS_MUALOCFL | Mutex allocation failure | |
LCS_SUCCESS | Success |
unsigned int LCS_rundown | ( | void | ) |
Run down the LCS tasks/resources configured with LCS_configure().
LCS_SUCCESS | Success |
unsigned int LCS_setNodeAddressSIU | ( | LCS_NodeAddress | nih | ) |
Set the hardware address of the SIU (on EPU only).
nih | (in) Hardware address of the SIU |
LCS_NOTINIT | LCS control block not available | |
LCS_NOTSIUND | Node address is not valid for an SIU | |
LCS_SUCCESS | Success |
unsigned int LCS_shutdown | ( | void | ) |
Shut down the LCS master control block and release resources.
LCS_CTLSTAT | Invalid control state for this operation | |
LCS_NOTINT | Control block not initialized | |
LCS_SUCCESS | Success |
unsigned int LRX_createService | ( | ITC_TaskID | rst, | |
ITC_TaskID | evt, | |||
ITC_TaskID | nut | |||
) |
Create and initialize LRX services.
rst | (in) Task ID for "result" task (command/response fabric) | |
evt | (in) Task ID for "event: task (event fabric) | |
nut | (in) Task ID for "nut" task (change of LCB state) |
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 |
unsigned int LRX_deleteService | ( | void | ) |
Delete the LTX service task and associated resources.
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 |
unsigned int LRX_startService | ( | TASK_attr * | rst, | |
TASK_attr * | evt, | |||
TASK_attr * | nut | |||
) |
Start the LCB service tasks and configure LCB to use them.
rst | (in) Task attributes for "result" task (command/response fabric) | |
evt | (in) Task attributes for "event: task (event fabric) | |
nut | (in) Task attributes for "nut" task (change of LCB state) |
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 |
unsigned int LRX_stopService | ( | LRX_cb_Stop * | rtn, | |
void * | prm | |||
) |
Stop the LRX service.
rtn | (in) LRX service stop callback routine | |
prm | (in) LRX service stop callback routine parameter |
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 |
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.
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 |
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 |
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.
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 |
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 |
unsigned int LTX_createServiceSDI | ( | unsigned int | pgs | ) |
Create an LTX service task for CPU/SDI communications.
pgs | (in) Number of 512 byte pages per packet (maximum 7) |
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 |
unsigned int LTX_deleteService | ( | ITC_TaskID | tid | ) |
Delete the LTX service task and associated resources.
tid | (in) ITC task ID (from service set of tasks) |
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 |
unsigned int LTX_startService | ( | ITC_TaskID | tid, | |
TASK_attr * | attr | |||
) |
Start an LTX communications service task.
tid | (in) ITC task ID (from service set of tasks) | |
attr | (in) Task attributes |
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 |
unsigned int LTX_stopService | ( | ITC_TaskID | tid | ) |
Stop the task implementing the LCS service layer.
tid | (in) ITC task ID (from service set of tasks) |
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 |