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
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001