GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> CTS / dev > cts_scp_enet / linux-gcc


Interface   Data Structures   File List   Data Fields   Globals  

CTS_configure.c File Reference

Initialize and start CTS tasks from configuration database. More...

#include <CDM/CDM_pubdefs.h>
#include <PBS/TASK.h>
#include <CPU_DB/CPU_DB_pubdefs.h>
#include <CTS_DB/CTS_DB_schema.h>
#include <MSG/MSG_pubdefs.h>
#include <IMM/RBM_pubdefs.h>
#include <IMM/FPM_pubdefs.h>
#include <ITC/ITC_pubdefs.h>
#include <CTS/CTS_msgs.h>
#include <CTS_prvdefs.h>

Classes

struct  _CTS_Configure
 CTS configuration block. More...

Typedefs

typedef struct _CTS_Configure CTS_Configure
 Typedef for struct _CTS_Configure.

Functions

unsigned int CTS_configure ()
 Configure the CTDB/CTS system from a CDM configuration database.
unsigned int CTS_rundown ()
 Run down the CTS tasks/resources configured with CTS_configure().

Variables

static CTS_Configure cfg
 CTS configuration description (and how to run down).
static FPM_PoolDsc compiled_allocators []
 Internally compiled configuration defaults.
static const CTS_DB_Schema compiled_data
 Internally compiled configuration defaults.
static TASK_attr CRX_taskAttributes
 Internally compiled configuration defaults: CRX task attributes.
static TASK_attr CTX_taskAttributes
 Internally compiled configuration defaults: CTX task attributes.


Detailed Description

Initialize and start CTS tasks from configuration database.

CVS $Id: CTS_configure.c,v 1.3 2011/03/28 23:55:14 apw Exp $
Author:
A.P.Waite

Function Documentation

unsigned int CTS_configure ( void   ) 

Configure the CTDB/CTS system from a CDM configuration database.

Return values:
CTS_ALOCFAIL Memory allocation failure
CTS_CTLSTAT CTS master control block in wrong state for operation
CTS_BADSTAT Not in state "uninitialized" (bad state transition)
CTS_DEVDUP Device already created
CTS_MUALOCFL Cannot allocate a mutex
CTS_NOTINIT CTS master control block does not exist
CTS_QCREATE Cannot create queue
CTS_SUCCESS Success
CTS_SVCHNDL CTS service control block does not exist
CTS_SVCSTAT CTS service control block in wrong state for operation
CTS_TASKSTRT Cannot start receive task
ITC_ALOCFAIL Cannot allocate an ITC_Task object
ITC_CNFRTNAT Command confirmation memory allocator already attached
ITC_CTLSTAT Control block not in state initialized
ITC_NOTINIT ITC control block does not exist
ITC_TASKHNDL Task handle is invalid
ITC_TASKQUEU Cannot create task queues
ITC_TASKSTAT Invalid task state for this operation
ITC_VARNULL NULL variable (pointer) detected
ITC_VARRNG Out of range variable detected
FPM_ALOCFAIL Memory allocation failure
FPM_CTLSTAT FPM control block not in state initialized
FPM_FPAINIT FPA initialization failure
FPM_NOTINIT FPM system not initialized
FPM_PDSCCNT Pool descriptor list size out of range
FPM_PDSCORDR Pool descriptor list not sorted in ascending order
FPM_PDSCPKTN Pool descriptor allocator count below minimum
FPM_PDSCPKTS Pool descriptor allocator size out of range
FPM_PNAMLEN Pool name length out of valid range
FPM_PNAMNULL Pool name is a NULL pointer
FPM_PNAMSNTX Pool name s has invalid syntax
FPM_POOLPTR Pool control block pointer invalid
FPM_POOLSTAT Pool control block not in state initialized
RBM_ALOCFAIL Memory allocation failure
RBM_FPAINIT FPA initialization failure
RBM_NOTINIT RBM system not initialized
RBM_RINGPTR Ring control block pointer invalid
RBM_RINGSTAT Ring control block not in state initialized
RBM_RNAMLEN Ring name length out of valid range
RBM_RNAMNULL Ring name is a NULL pointer
RBM_RNAMSNTX Ring name s has invalid syntax
CTS_configure() creates and starts the CTDB device (either a real 1553 or an ethernet simulation), and the CRX/CTX service tasks.

References CRX_createService(), CRX_dispatch(), CRX_startService(), CRX_TYP_CMD, CTS_createDevice(), CTS_startDevice(), CTX_createService(), CTX_startService(), _CTS_Configure::fpm, _CTS_Configure::itc, and _CTS_Configure::rbm.

unsigned int CTS_rundown ( void   ) 

Run down the CTS tasks/resources configured with CTS_configure().

Return values:
CTS_BADSTAT Not in state "initialized" (bad state transition)
CTS_CTLSTAT CTS master control block not in requested state
CTS_DEVACTIV Cannot delete, service task still attached
CTS_NOTINIT CTS master control block does not exist
CTS_SUCCESS Success
CTS_SVCHNDL CTS service control block does not exist
CTS_SVCSTAT CTX service control block not in requested state
CTS_TASKSTRT Cannot start receive task
FPM_POOLPTR Pool control block pointer invalid
FPM_POOLSTAT Pool control block not in state initialized
ITC_CNFRTNDE No command confirmation memory allocator exists to detach
ITC_CTLSTAT Control block not in state initialized
ITC_NOTINIT ITC control block does not exist
ITC_TASKHNDL Task handle is invalid
ITC_TASKMISS Task not in task table
ITC_TASKSTAT Task not in state initialized
RBM_RINGPTR Ring control block pointer invalid
RBM_RINGSTAT Ring control block not in state started
CTS_rundown() uses contextual information gathered during CTS_configure() to run down all the CTS tasks and their associated resources.

References CRX_deleteService(), CRX_stopService(), CRX_TYP_CMD, CTS_deleteDevice(), CTS_stopDevice(), CTX_deleteService(), CTX_stopService(), _CTS_Configure::fpm, _CTS_Configure::itc, and _CTS_Configure::rbm.


Variable Documentation

static const FPM_PoolDsc compiled_allocators[] [static]

Initial value:

 
{
    {  7, 128 },                
    {  8, 128 },                
    {  9,  64 },                
    { 10,  32 }                 
}
Internally compiled configuration defaults.

static const CTS_DB_Schema compiled_data [static]

Initial value:

{
                                
    "rCRXC",                    
    1024,                       
    256,                        


                                
    "fCTX",                     
    sizeof( compiled_allocators ) /
        sizeof( FPM_PoolDsc ),  
    compiled_allocators         
}
Internally compiled configuration defaults.

static TASK_attr CRX_taskAttributes [static]

Initial value:

{
    "uCRXC",   100,  0,  NULL,  0
}
Internally compiled configuration defaults: CRX task attributes.

static TASK_attr CTX_taskAttributes [static]

Initial value:

{
    "uCTX",    110,  0,  NULL,  0
}
Internally compiled configuration defaults: CTX task attributes.


Generated on Mon Mar 28 16:58:03 2011 by  doxygen 1.5.8