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