GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LHK / V12-2-4 > lhk / rhel5-64
#include <stdlib.h>
#include <string.h>
#include <CDM/CDM_pubdefs.h>
#include <FBS/FBS_pubrtos.h>
#include <LHK/LHK_msgs.h>
#include <LHK_DB/LHK_DB_pktdefs.h>
#include <LHK_DB/LHK_DB_schedule.h>
#include <MDB/MDB_pubdefs.h>
#include <PBI/PTR.h>
#include <PBS/FFS.ih>
#include <PBS/INT.ih>
#include <LHK_prvdefs.h>
Functions | |
static unsigned int | scheduleReplace (const LHK_DB_Packet *tbl, unsigned int len, LHK_cb_FreeSchedule *rtn, void *prm) |
Request a new housekeeping schedule. | |
static unsigned int | scheduleScan (CDM_Database *cdm, LHK_Control *lcb) |
Scan CDMs for housekeeping schedules. | |
static unsigned int | scheduleValidate (const LHK_DB_Packet *tbl, unsigned int len) |
Validate a housekeeping schedule. | |
unsigned int | LHK_ctdbCallback (void *out, void *prm) |
Service a request for a housekeeping packet. | |
void | LHK_scheduleGet (unsigned int *fil, unsigned int *ins) |
Identify the schedule file in use. | |
unsigned int | LHK_scheduleInitialize (LHK_Control *lcb) |
Service a request for a housekeeping packet. | |
unsigned int | LHK_scheduleReplaceByFile (unsigned int fil) |
Request a new housekeeping schedule by file ID. | |
unsigned int | LHK_scheduleReplaceByInstance (int instance) |
Request a new housekeeping schedule by file ID. | |
Variables | |
const LHK_DB_Packet | LHK_defaultPacketList [] |
Should no schedules be loaded... | |
const LHK_DB_Schedule | LHK_defaultSchedule |
Should no schedules be loaded... |
CVS $Id: LHK_callback.c,v 1.4 2011/03/29 01:45:00 apw Exp $
unsigned int LHK_ctdbCallback | ( | void * | out, | |
void * | prm | |||
) |
Service a request for a housekeeping packet.
out | (in) Output buffer (where the packet should be placed) | |
prm | (in) User parameter |
LHK_GENERROR | Generic error | |
LHK_SUCCESS | Success |
References _LHK_ScheduleControl::cur, _LHK_Packet::hsk, _LHK_Schedule::len, LHK_lcb, LHK_packet, LHK_PKT_SUCCESS, LHK_PKT_TIMEOUT, _LHK_ScheduleControl::nxt, _LHK_Schedule::prm, _LHK_ScheduleControl::req, _LHK_Packet::rtn, _LHK_Schedule::rtn, _LHK_Control::scb, _LHK_Packet::seq, and _LHK_Schedule::tbl.
Referenced by LHK_start().
void LHK_scheduleGet | ( | unsigned int * | fil, | |
unsigned int * | ins | |||
) |
Identify the schedule file in use.
fil | (in) File ID | |
ins | (in) CDM instance ID |
References _LHK_ScheduleTable::cdm, _LHK_ScheduleTable::fil, LHK_lcb, _LHK_Control::table, and _LHK_Control::tused.
unsigned int LHK_scheduleInitialize | ( | LHK_Control * | lcb | ) |
Service a request for a housekeeping packet.
lcb | (in) LHK control block |
LHK_GENERROR | Generic error | |
LHK_SUCCESS | Success |
References _LHK_ScheduleTable::cdm, scheduleReplace(), scheduleScan(), scheduleValidate(), _LHK_Control::table, _LHK_Control::tmask, and _LHK_Control::tused.
Referenced by LHK_initialize().
unsigned int LHK_scheduleReplaceByFile | ( | unsigned int | fil | ) |
Request a new housekeeping schedule by file ID.
fil | (in) File ID of file/CDM providing the new schedule |
LHK_GENERROR | Generic error | |
LHK_SUCCESS | Success |
References _LHK_ScheduleTable::cdm, _LHK_ScheduleTable::fil, LHK_lcb, scheduleReplace(), scheduleValidate(), _LHK_Control::table, _LHK_Control::tmask, and _LHK_Control::tused.
Referenced by LHK_NewSchedFile(), and LHK_SysReset().
unsigned int LHK_scheduleReplaceByInstance | ( | int | instance | ) |
Request a new housekeeping schedule by file ID.
instance | (in) CMD instance number |
LHK_GENERROR | Generic error | |
LHK_SUCCESS | Success |
References _LHK_ScheduleTable::cdm, LHK_lcb, scheduleReplace(), _LHK_Control::table, _LHK_Control::tmask, and _LHK_Control::tused.
Referenced by LHK_NewSchedInst(), and LHK_SysReset().
static unsigned int scheduleReplace | ( | const LHK_DB_Packet * | tbl, | |
unsigned int | len, | |||
LHK_cb_FreeSchedule * | rtn, | |||
void * | prm | |||
) | [static] |
Request a new housekeeping schedule.
tbl | (in) Pointer to new table (simple list of APIDs) | |
len | (in) Length of table | |
rtn | (in) Routine to call when switch complete (can be NULL) | |
prm | (in) User parameter to callback routine |
LHK_GENERROR | Generic error | |
LHK_SUCCESS | Success |
References _LHK_Schedule::len, LHK_lcb, _LHK_Schedule::prm, _LHK_ScheduleControl::req, _LHK_Schedule::rtn, _LHK_Control::scb, scheduleValidate(), and _LHK_Schedule::tbl.
Referenced by LHK_scheduleInitialize(), LHK_scheduleReplaceByFile(), and LHK_scheduleReplaceByInstance().
static unsigned int scheduleScan | ( | CDM_Database * | cdm, | |
LHK_Control * | lcb | |||
) | [static] |
Scan CDMs for housekeeping schedules.
cdm | (in) CDM handle | |
lcb | (in) LHK control block |
References _LHK_ScheduleTable::cdm, _LHK_ScheduleTable::fil, scheduleValidate(), _LHK_Control::table, and _LHK_Control::tmask.
Referenced by LHK_scheduleInitialize().
static unsigned int scheduleValidate | ( | const LHK_DB_Packet * | tbl, | |
unsigned int | len | |||
) | [static] |
Validate a housekeeping schedule.
tbl | (in) Pointer to new table (simple list of APIDs) | |
len | (in) Length of table |
LHK_GENERROR | Generic error | |
LHK_SUCCESS | Success |
Referenced by LHK_scheduleInitialize(), LHK_scheduleReplaceByFile(), scheduleReplace(), and scheduleScan().
const LHK_DB_Schedule LHK_defaultSchedule |
Initial value:
{ sizeof( LHK_defaultPacketList ) / sizeof( LHK_DB_Packet ), &LHK_defaultPacketList[0] }