00001 #ifndef ARC_DRV_H 00002 #define ARC_DRV_H 00003 00004 /******************************************************************************* 00005 * E.S.O. - VLT project 00006 * 00007 * "@(#) $Id: arcdrv.h,v 0.6 2003/10/14 06:20:55 vltsccm Exp $" 00008 * 00009 * who when what 00010 * -------- ---------- ---------------------------------------------- 00011 * pduhoux 2003-02-06 created 00012 */ 00013 00014 /************************************************************************ 00015 * 00016 *---------------------------------------------------------------------- 00017 */ 00018 00019 #include "lcudrv.h" /* Include common driver literals */ 00020 #include "lculog.h" /* Include logging message system header file */ 00021 00022 00023 /* The following piece of code alternates the linkage type to C for all 00024 functions declared within the braces, which is necessary to use the 00025 functions in C++-code. 00026 */ 00027 00028 #ifdef __cplusplus 00029 extern C { 00030 #endif 00031 00032 /* insert here your declarations */ 00033 00034 00035 00036 typedef struct 00037 { 00038 VOIDFUNCPTR routine; 00039 int parameter; 00040 } arcdrvCONFIG_INT; 00041 00042 typedef arcdrvCONFIG_INT * arcdrvCONFIG_INT_PTR; 00043 00044 /************************************************* 00045 * Interrupt Service Routine Prototype 00046 *************************************************/ 00047 typedef void (*arcdrvDataReadISR )(int pixelRead, int pixelInImage); 00048 00049 00050 arcdrvDataReadISR isr; /* Callback function */ 00051 00052 00053 /* 00054 * arcdrv driver provided functions 00055 */ 00056 int arcdrv ( int devices, int channels, int timeout ); 00057 00058 int arcdrvDevCreate(char *devName, 00059 int pciBaseAddr, 00060 int boardNumber, 00061 arcdrvDataReadISR isrRoutine); 00062 00063 STATUS arcdrvPulsebitMicrosecSet (char *deviceName, int value); 00064 00065 /* 00066 * arcdrv tool functions 00067 */ 00068 void arcdrvVersion(void); 00069 void arcdrvDevShow(void); 00070 void arcdrvSt (int unitNumber); 00071 void arcdrvConfig (int unitNumber); 00072 void arcdrvReg (int unitNumber); 00073 void arcdrvErrorPrint (int unitNumber); 00074 void arcdrvSizeofPrint ( void ); 00075 void arcdrvTbl ( void ); 00076 00077 00078 #ifdef __cplusplus 00079 } 00080 #endif 00081 00082 00083 #endif