Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

tacTypes.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002 * E.S.O. - VLT project
00003 *
00004 * "@(#) $Id: tacTypes.h,v 1.38 2003/11/27 21:36:50 vltsccm Exp $"
00005 *
00006 * who       when      what
00007 * --------  --------  ----------------------------------------------
00008 * bbauvir   25/04/03  Extend error parameter size from 40 to 128
00009 * bbauvir   13/06/02  Add SIMULAT/STOPSIM support - flag in tacSHARED
00010 * bbauvir   21/03/01  created
00011 */
00012 
00013 #ifndef TAC_TYPES_H
00014 #define TAC_TYPES_H
00015 
00016 /**************************************************************************
00017  *  tacTypes.h - This file provides the definition of types internal to the 
00018  *               'tac' module
00019  *
00020  *------------------------------------------------------------------------
00021  */
00022 
00023 /* 
00024  * System Headers
00025  */
00026 
00027 #include <vxWorks.h>
00028 #include <semLib.h>
00029 
00030 /* 
00031  * Local Headers
00032  */
00033 
00034 #include "ccs.h"    /* ccsLOC_ID */
00035 
00036 #include "tacDefines.h"
00037 
00038 /*
00039  * Constants
00040  */
00041 
00042 typedef enum {
00043   tacPARAM_DOUBLE = 0,
00044   tacPARAM_STRING,
00045 }tacPARAM_TYPE;
00046 
00047 /* VLTSW20030076 - Support PCI interrupts */
00048 typedef enum {
00049   tacSYNCHRO_NO_SOURCE = 0,
00050   tacSYNCHRO_SEMAPHORE,
00051   tacSYNCHRO_INTERRUPT
00052 }tacSYNCHRO_TYPE;
00053 
00054 typedef enum {
00055   tacSTATE_UNKNOWN = 1,
00056   tacSTATE_INIT,
00057   tacSTATE_STANDBY,
00058   tacSTATE_ONLINE
00059 }tacSTATE; 
00060 
00061 /* 
00062  * Types
00063  */
00064 
00065 typedef struct {
00066   unsigned long seconds;
00067   long microsec;
00068 }tacTIME;
00069 
00070 typedef struct {
00071   SEM_ID semId;
00072   int priority;
00073   int taskId;
00074   int enable;
00075 }tacSYNCHRO_TASK;
00076 
00077 typedef struct {
00078   int level;
00079   int vector;
00080 }tacSYNCHRO_INT;
00081 
00082 typedef struct {
00083   tacSYNCHRO_TYPE type;
00084   tacSYNCHRO_TASK task;
00085   tacSYNCHRO_INT interrupt;
00086 }tacSYNCHRO;
00087 
00088 typedef struct {
00089   unsigned short errNum;
00090   ccsLOC_ID location;
00091   /* VLTSW20030091 - Error parameter too short */
00092   char param[128];
00093 }tacERROR;
00094 
00095 typedef struct {
00096   int number;
00097   tacPARAM_TYPE type[tacMAX_PARAM_NUMBER];
00098   char buffer[tacMAX_PARAM_SIZE];
00099 }tacPARAM;
00100 
00101 typedef struct {
00102   tacTIME timeStamp;
00103   unsigned long number;
00104   double buffer[tacMAX_DATA_NUMBER];
00105 }tacDATA;
00106 
00107 typedef struct {
00108   unsigned short simulation;
00109   double samplingPeriod;
00110   tacTIME currentTime;
00111 }tacSHARED;
00112 
00113 typedef STATUS (* tacFCTPTR)();
00114 typedef void (* tacVOIDFCTPTR)();
00115 
00116 /*
00117  * Global variables
00118  */
00119 
00120 /*
00121  * Functions
00122  */
00123 
00124 #endif 

Generated on Wed Dec 3 14:52:20 2003 for ATCS API by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001