Subversion Repositories f9daq

Rev

Rev 9 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
9 f9daq 1
#ifndef __PCIVME_NI_H__
2
#define __PCIVME_NI_H__
362 f9daq 3
#include <stddef.h>
9 f9daq 4
//-------------------------------------------------------------------------------------------
5
// pcivme_ni.h - header for ni-labview shared library or dll for ARW pcivme interface
6
// this library can also be used for other purposes aside from labview
7
//
8
// Copyright (C) 2002-2004 ARW Elektronik Germany
9
//
10
// this source code is published under LGPL (Open Source). You can use, redistrubute and 
11
// modify it unless this header  is  not modified or deleted. No warranty is given that 
12
// this software will work like expected.
13
// This product is not authorized for use as critical component in life support systems
14
// wihout the express written approval of ARW Elektronik Germany.
15
//
16
// Please announce changes and hints to ARW Elektronik
17
// 
362 f9daq 18
// $Log: pcivme_ni.h,v $
19
// Revision 1.8  2004/08/13 19:23:45  klaus
20
// conversion to kernel-version 2.6, released version 3.0
9 f9daq 21
//
22
// Revision 1.7  2002/10/20 18:07:18  klaus
23
// changed error handling
24
//
25
// Revision 1.6  2002/10/18 21:56:28  klaus
26
// completed functional features, untested
27
//
28
// Revision 1.5  2002/10/18 21:56:28  klaus
29
// completed functional features, untested
30
//
31
// Revision 1.4  2002/10/17 21:16:03  klaus
32
// filled function bodies
33
//
34
// Revision 1.3  2002/10/17 21:16:03  klaus
35
// filled function bodies
36
//
37
// Revision 1.2  2002/10/17 19:05:03  klaus
38
// VME access is working through test to lib to driver
39
//
40
// Revision 1.1  2002/10/12 22:04:44  klaus
41
// first work done
42
//
43
// what                                                              who    when
44
// first steps                                                       AR     17.11.1999
45
// VMEerror new                                                                                                          AR     07.01.2000
46
// made LINUX shared library from windows template                   AR     12.10.2002
47
//
48
 
49
//-------------------------------------------------------------------------------------------
50
// INCLUDES
51
//
52
#define BOOLEAN int
53
#if !defined(TRUE) && !defined(FALSE)
54
    #define FALSE 0
55
    #define TRUE 1
56
#endif
57
 
58
//-------------------------------------------------------------------------------------------
59
// PROTOTYPES
60
//
61
#ifdef __cplusplus
62
extern "C"
63
{
64
#endif
362 f9daq 65
int VMEopen(const char *cszDeviceName, unsigned char ubAddressModifier, ptrdiff_t *pnHandle);
66
int VMEinit(const char *cszDeviceName, unsigned short nVMEMM, unsigned char ubAddressModifier, ptrdiff_t *pnHandle);
67
int setAccessProperties(ptrdiff_t nHandle, unsigned char bModifier, unsigned char bAccessType);
68
int VMEread(ptrdiff_t nHandle, unsigned long ulAddress, unsigned char ubAccessWidth, unsigned long ulElementCount, void *pvBuffer);
69
int VMEwrite(ptrdiff_t nHandle, unsigned long ulAddress, unsigned char ubAccessWidth, unsigned long ulElementCount, void *pvBuffer);
70
int VMEaccessVIC(ptrdiff_t nHandle, unsigned char ubAccessMode, unsigned short uwAddress, unsigned char *ubContent);
71
int VMEreset(ptrdiff_t nHandle);
72
int VMETAS(ptrdiff_t nHandle, unsigned long ulAddress, unsigned char *ubResult);
73
int VMEcontrolInterrupt(ptrdiff_t nHandle, BOOLEAN *bEnable);
74
int VMEinterrupt(ptrdiff_t nHandle, unsigned char *ubVector);
75
int VMEsysfailGet(ptrdiff_t nHandle, BOOLEAN *bResult);
76
int VMEsysfailSet(ptrdiff_t nHandle, BOOLEAN bForce);
77
int VMEerror(ptrdiff_t nHandle);
78
int VMEclose(ptrdiff_t nHandle);
79
int GetLastError(ptrdiff_t nHandle);
9 f9daq 80
#ifdef __cplusplus
81
}
82
#endif
83
 
84
#endif /* __PCIVME_NI_H__ */