00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 #ifndef MIDAS_TYPE_DEFINED
00044 #define MIDAS_TYPE_DEFINED
00045
00046 typedef unsigned short int WORD;
00047
00048 #ifdef __alpha
00049 typedef unsigned int DWORD;
00050 #else
00051 typedef unsigned long int DWORD;
00052 #endif
00053
00054 #define SUCCESS 1
00055
00056 #endif
00057
00058
00059 #if defined(_MSC_VER) && defined(MIDAS_DLL)
00060 #define EXPRT __declspec(dllexport)
00061 #else
00062 #define EXPRT
00063 #endif
00064
00065
00066
00067 #define MVME_SUCCESS 1
00068 #define MVME_NO_INTERFACE 2
00069 #define MVME_NO_CRATE 3
00070 #define MVME_UNSUPPORTED 4
00071
00072
00073
00074 typedef unsigned long mvme_addr_t;
00075 typedef unsigned long mvme_size_t;
00076
00077
00078
00079
00080 #define MVME_IOCTL_CRATE_SET 0
00081 #define MVME_IOCTL_CRATE_GET 1
00082 #define MVME_IOCTL_AMOD_SET 2
00083 #define MVME_IOCTL_AMOD_GET 3
00084 #define MVME_IOCTL_DMODE_SET 4
00085 #define MVME_IOCTL_DMODE_GET 5
00086 #define MVME_IOCTL_DMA_SET 6
00087 #define MVME_IOCTL_DMA_GET 7
00088 #define MVME_IOCTL_FIFO_SET 8
00089 #define MVME_IOCTL_FIFO_GET 9
00090
00091
00092 #define MVME_DMODE_D8 1
00093 #define MVME_DMODE_D16 2
00094 #define MVME_DMODE_D32 3
00095 #define MVME_DMODE_D64 4
00096 #define MVME_DMODE_RAMD16 5
00097 #define MVME_DMODE_RAMD32 6
00098 #define MVME_DMODE_LM 7
00099
00100
00101 #define MVME_AMOD_A32_SB (0x0F)
00102 #define MVME_AMOD_A32_SP (0x0E)
00103 #define MVME_AMOD_A32_SD (0x0D)
00104 #define MVME_AMOD_A32_NB (0x0B)
00105 #define MVME_AMOD_A32_NP (0x0A)
00106 #define MVME_AMOD_A32_ND (0x09)
00107 #define MVME_AMOD_A32_SMBLT (0x0C)
00108 #define MVME_AMOD_A32_NMBLT (0x08)
00109
00110 #define MVME_AMOD_A32 MVME_AMOD_A32_SD
00111 #define MVME_AMOD_A32_D64 MVME_AMOD_A32_SMBLT
00112
00113 #define MVME_AMOD_A24_SB (0x3F)
00114 #define MVME_AMOD_A24_SP (0x3E)
00115 #define MVME_AMOD_A24_SD (0x3D)
00116 #define MVME_AMOD_A24_NB (0x3B)
00117 #define MVME_AMOD_A24_NP (0x3A)
00118 #define MVME_AMOD_A24_ND (0x39)
00119 #define MVME_AMOD_A24_SMBLT (0x3C)
00120 #define MVME_AMOD_A24_NMBLT (0x38)
00121
00122 #define MVME_AMOD_A24 MVME_AMOD_A24_SD
00123 #define MVME_AMOD_A24_D64 MVME_AMOD_A24_SMBLT
00124
00125 #define MVME_AMOD_A16_SD (0x2D)
00126 #define MVME_AMOD_A16_ND (0x29)
00127
00128 #define MVME_AMOD_A16 MVME_AMOD_A16_SD
00129
00130
00131
00132
00133 #ifdef __cplusplus
00134 extern "C" {
00135 #endif
00136
00137 int EXPRT mvme_init();
00138 int EXPRT mvme_ioctl(int req, int *parm);
00139 int EXPRT mvme_exit();
00140 int EXPRT mvme_read(void *dst, mvme_addr_t vme_addr, mvme_size_t size);
00141 int EXPRT mvme_write(mvme_addr_t vme_addr, void *src, mvme_size_t n_bytes);
00142 int EXPRT mvme_mmap(void **ptr, mvme_addr_t vme_addr, mvme_size_t size);
00143 int EXPRT mvme_unmap(void *ptr, mvme_size_t size);
00144
00145 #ifdef __cplusplus
00146 }
00147 #endif