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 #ifndef MIDAS_TYPE_DEFINED
00041 #define MIDAS_TYPE_DEFINED
00042
00043 typedef unsigned short int WORD;
00044
00045 #ifdef __alpha
00046 typedef unsigned int DWORD;
00047 #else
00048 typedef unsigned long int DWORD;
00049 #endif
00050
00051 #define SUCCESS 1
00052
00053 #endif
00054
00055
00056 #if defined(_MSC_VER) && defined(MIDAS_DLL)
00057 #define EXPRT __declspec(dllexport)
00058 #else
00059 #define EXPRT
00060 #endif
00061
00062
00063
00064 #define MVME_SUCCESS 1
00065 #define MVME_NO_INTERFACE 2
00066 #define MVME_NO_CRATE 3
00067 #define MVME_UNSUPPORTED 4
00068
00069
00070
00071 typedef unsigned long mvme_addr_t;
00072 typedef unsigned long mvme_size_t;
00073
00074
00075
00076
00077 #define MVME_A16D16 1
00078 #define MVME_A16D32 2
00079 #define MVME_A24D16 3
00080 #define MVME_A24D32 4
00081 #define MVME_A32D16 5
00082 #define MVME_A32D32 6
00083 #define MVME_RAMD16 7
00084 #define MVME_RAND32 8
00085 #define MVME_LM 9
00086
00087
00088 #define MVME_IOCTL_CRATE_SET 0
00089 #define MVME_IOCTL_CRATE_GET 1
00090 #define MVME_IOCTL_AMOD_SET 2
00091 #define MVME_IOCTL_AMOD_GET 3
00092 #define MVME_IOCTL_DMA_SET 4
00093 #define MVME_IOCTL_DMA_GET 5
00094 #define MVME_IOCTL_FIFO_SET 6
00095 #define MVME_IOCTL_FIFO_GET 7
00096
00097
00098 #define MVME_AMOD_A32_SB (0x0F)
00099 #define MVME_AMOD_A32_SP (0x0E)
00100 #define MVME_AMOD_A32_SD (0x0D)
00101 #define MVME_AMOD_A32_NB (0x0B)
00102 #define MVME_AMOD_A32_NP (0x0A)
00103 #define MVME_AMOD_A32_ND (0x09)
00104 #define MVME_AMOD_A32_SMBLT (0x0C)
00105 #define MVME_AMOD_A32_NMBLT (0x08)
00106
00107 #define MVME_AMOD_A32 MVME_AMOD_A32_SD
00108 #define MVME_AMOD_A32_D64 MVME_AMOD_A32_SMBLT
00109
00110 #define MVME_AMOD_A24_SB (0x3F)
00111 #define MVME_AMOD_A24_SP (0x3E)
00112 #define MVME_AMOD_A24_SD (0x3D)
00113 #define MVME_AMOD_A24_NB (0x3B)
00114 #define MVME_AMOD_A24_NP (0x3A)
00115 #define MVME_AMOD_A24_ND (0x39)
00116 #define MVME_AMOD_A24_SMBLT (0x3C)
00117 #define MVME_AMOD_A24_NMBLT (0x38)
00118
00119 #define MVME_AMOD_A24 MVME_AMOD_A24_SD
00120 #define MVME_AMOD_A24_D64 MVME_AMOD_A24_SMBLT
00121
00122 #define MVME_AMOD_A16_SD (0x2D)
00123 #define MVME_AMOD_A16_ND (0x29)
00124
00125 #define MVME_AMOD_A16 MVME_AMOD_A16_SD
00126
00127
00128
00129
00130 #ifdef __cplusplus
00131 extern "C" {
00132 #endif
00133
00134 int EXPRT mvme_init();
00135 int EXPRT mvme_ioctl(int req, int *parm);
00136 int EXPRT mvme_exit();
00137 int EXPRT mvme_read(void *dst, mvme_addr_t vme_addr, mvme_size_t size);
00138 int EXPRT mvme_write(mvme_addr_t vme_addr, void *src, mvme_size_t n_bytes);
00139 int EXPRT mvme_mmap(void **ptr, mvme_addr_t vme_addr, mvme_size_t size);
00140 int EXPRT mvme_unmap(void *ptr, mvme_size_t size);
00141
00142 #ifdef __cplusplus
00143 }
00144 #endif