Kvaser CANLIB: Welcome to Kvaser CANLIB!
canlib.h
Go to the documentation of this file.
1 
2 
28 #ifndef _CANLIB_H_
29 #define _CANLIB_H_
30 
31 #include <stdlib.h>
32 
33 #include <windows.h>
34 #include "predef.h"
35 #include "canevt.h"
36 
37 #include "canstat.h"
38 
40 typedef int canHandle;
41 
42 # define canINVALID_HANDLE (-1)
43 
45 # define CanHandle int
46 
48 # define WM__CANLIB (WM_USER+16354)
49 
65 #define canOPEN_EXCLUSIVE 0x0008
66 
78 #define canOPEN_REQUIRE_EXTENDED 0x0010
79 
87 # define canOPEN_ACCEPT_VIRTUAL 0x0020
88 
97 # define canOPEN_OVERRIDE_EXCLUSIVE 0x0040
98 
114 # define canOPEN_REQUIRE_INIT_ACCESS 0x0080
115 
123 # define canOPEN_NO_INIT_ACCESS 0x0100
124 
136 # define canOPEN_ACCEPT_LARGE_DLC 0x0200 // DLC can be greater than 8
137 
144 # define canOPEN_CAN_FD 0x0400
145 
159 # define canOPEN_CAN_FD_NONISO 0x0800
160 
161 
167 # define canOPEN_LIN 0x1000
168 
180 #define canFILTER_ACCEPT 1
181 #define canFILTER_REJECT 2
182 
183 #define canFILTER_SET_CODE_STD 3
184 
185 #define canFILTER_SET_MASK_STD 4
186 
187 #define canFILTER_SET_CODE_EXT 5
188 
189 #define canFILTER_SET_MASK_EXT 6
190 
191 #define canFILTER_NULL_MASK 0L
192 
208 #define canDRIVER_NORMAL 4
209 
216 #define canDRIVER_SILENT 1
217 
221 #define canDRIVER_SELFRECEPTION 8
222 
226 #define canDRIVER_OFF 0
227 
250 #define canBITRATE_1M (-1)
251 
252 #define canBITRATE_500K (-2)
253 
254 #define canBITRATE_250K (-3)
255 
256 #define canBITRATE_125K (-4)
257 
258 #define canBITRATE_100K (-5)
259 
260 #define canBITRATE_62K (-6)
261 
262 #define canBITRATE_50K (-7)
263 
264 #define canBITRATE_83K (-8)
265 
266 #define canBITRATE_10K (-9)
267 
268 // CAN FD Bit Rates
272 #define canFD_BITRATE_500K_80P (-1000)
273 
276 #define canFD_BITRATE_1M_80P (-1001)
277 
280 #define canFD_BITRATE_2M_80P (-1002)
281 
284 #define canFD_BITRATE_4M_80P (-1003)
285 
288 #define canFD_BITRATE_8M_60P (-1004)
289 
291 #define BAUD_1M (-1)
292 
293 #define BAUD_500K (-2)
294 
295 #define BAUD_250K (-3)
296 
297 #define BAUD_125K (-4)
298 
299 #define BAUD_100K (-5)
300 
301 #define BAUD_62K (-6)
302 
303 #define BAUD_50K (-7)
304 
305 #define BAUD_83K (-8)
306 
309 //
310 // Define CANLIBAPI unless it's done already.
311 // (canlib.c provides its own definitions of CANLIBAPI, DLLIMPORT
312 // and DLLEXPORT before including this file.)
313 //
314 #ifndef CANLIBAPI
315 # define CANLIBAPI __stdcall
316 # define DLLIMPORT __declspec(dllimport)
317 # define DLLEXPORT __declspec(dllexport)
318 #endif /* CANLIBAPI */
319 
320 
321 #ifdef __cplusplus
322 extern "C" {
323 #endif /* __cplusplus */
324 
346 void CANLIBAPI canInitializeLibrary (void);
347 
372 canStatus CANLIBAPI canClose (const CanHandle hnd);
373 
398 canStatus CANLIBAPI canBusOn (const CanHandle hnd);
399 
419 canStatus CANLIBAPI canBusOff (const CanHandle hnd);
420 
467 canStatus CANLIBAPI canSetBusParams (const CanHandle hnd,
468  long freq,
469  unsigned int tseg1,
470  unsigned int tseg2,
471  unsigned int sjw,
472  unsigned int noSamp,
473  unsigned int syncmode);
474 
506 canStatus CANLIBAPI canSetBusParamsFd(const CanHandle hnd,
507  long freq_brs,
508  unsigned int tseg1_brs,
509  unsigned int tseg2_brs,
510  unsigned int sjw_brs);
511 
512 
544 canStatus CANLIBAPI canGetBusParams (const CanHandle hnd,
545  long *freq,
546  unsigned int *tseg1,
547  unsigned int *tseg2,
548  unsigned int *sjw,
549  unsigned int *noSamp,
550  unsigned int *syncmode);
551 
552 
575 canStatus CANLIBAPI canGetBusParamsFd(const CanHandle hnd,
576  long *freq_brs,
577  unsigned int *tseg1_brs,
578  unsigned int *tseg2_brs,
579  unsigned int *sjw_brs);
604 canStatus CANLIBAPI canSetBusOutputControl (const CanHandle hnd,
605  const unsigned int drivertype);
606 
641 canStatus CANLIBAPI canGetBusOutputControl (const CanHandle hnd,
642  unsigned int *drivertype);
643 
686 canStatus CANLIBAPI canAccept (const CanHandle hnd,
687  const long envelope,
688  const unsigned int flag);
689 
713 canStatus CANLIBAPI canReadStatus (const CanHandle hnd,
714  unsigned long *const flags);
715 
752 canStatus CANLIBAPI canReadErrorCounters (const CanHandle hnd,
753  unsigned int *txErr,
754  unsigned int *rxErr,
755  unsigned int *ovErr);
756 
798 canStatus CANLIBAPI canWrite (const CanHandle hnd,
799  long id,
800  void *msg,
801  unsigned int dlc,
802  unsigned int flag);
803 
831 canStatus CANLIBAPI canWriteSync (const CanHandle hnd, unsigned long timeout);
832 
885 canStatus CANLIBAPI canRead (const CanHandle hnd,
886  long *id,
887  void *msg,
888  unsigned int *dlc,
889  unsigned int *flag,
890  unsigned long *time);
939 canStatus CANLIBAPI canReadWait (const CanHandle hnd,
940  long *id,
941  void *msg,
942  unsigned int *dlc,
943  unsigned int *flag,
944  unsigned long *time,
945  unsigned long timeout);
946 
996 canStatus CANLIBAPI canReadSpecific (const CanHandle hnd, long id, void * msg,
997  unsigned int * dlc, unsigned int * flag,
998  unsigned long * time);
999 
1030 canStatus CANLIBAPI canReadSync (const CanHandle hnd, unsigned long timeout);
1031 
1063 canStatus CANLIBAPI canReadSyncSpecific (const CanHandle hnd,
1064  long id,
1065  unsigned long timeout);
1066 
1110 canStatus CANLIBAPI canReadSpecificSkip (const CanHandle hnd,
1111  long id,
1112  void * msg,
1113  unsigned int * dlc,
1114  unsigned int * flag,
1115  unsigned long * time);
1116 
1117 
1156 canStatus CANLIBAPI canSetNotify (const CanHandle hnd,
1157  HWND aHWnd,
1158  unsigned int aNotifyFlags);
1159 
1160 
1195 canStatus CANLIBAPI canTranslateBaud (long *const freq,
1196  unsigned int *const tseg1,
1197  unsigned int *const tseg2,
1198  unsigned int *const sjw,
1199  unsigned int *const nosamp,
1200  unsigned int *const syncMode);
1201 
1224 canStatus CANLIBAPI canGetErrorText (canStatus err, char *buf, unsigned int bufsiz);
1225 
1265 unsigned short CANLIBAPI canGetVersion (void);
1266 
1296 canStatus CANLIBAPI canIoCtl (const CanHandle hnd,
1297  unsigned int func,
1298  void *buf,
1299  unsigned int buflen);
1300 
1301 
1334 unsigned long CANLIBAPI canReadTimer (const CanHandle hnd);
1335 
1386 CanHandle CANLIBAPI canOpenChannel (int channel, int flags);
1387 
1408 canStatus CANLIBAPI canGetNumberOfChannels (int *channelCount);
1409 
1410 
1418 #define kvREMOTE_TYPE_NOT_REMOTE 0
1419 #define kvREMOTE_TYPE_WLAN 1
1420 #define kvREMOTE_TYPE_LAN 2
1421 
1430 #define kvLOGGER_TYPE_NOT_A_LOGGER 0
1431 #define kvLOGGER_TYPE_V1 1
1432 #define kvLOGGER_TYPE_V2 2
1433 
1465 canStatus CANLIBAPI canGetChannelData (int channel,
1466  int item,
1467  void *buffer,
1468  size_t bufsize);
1469 
1488 #define canCHANNELDATA_CHANNEL_CAP 1
1489 
1503 #define canCHANNELDATA_TRANS_CAP 2
1504 
1511 #define canCHANNELDATA_CHANNEL_FLAGS 3 // available, etc
1512 
1521 #define canCHANNELDATA_CARD_TYPE 4
1522 
1537 #define canCHANNELDATA_CARD_NUMBER 5
1538 
1546 #define canCHANNELDATA_CHAN_NO_ON_CARD 6
1547 
1557 #define canCHANNELDATA_CARD_SERIAL_NO 7
1558 
1572 #define canCHANNELDATA_TRANS_SERIAL_NO 8
1573 
1584 #define canCHANNELDATA_CARD_FIRMWARE_REV 9
1585 
1596 #define canCHANNELDATA_CARD_HARDWARE_REV 10
1597 
1607 #define canCHANNELDATA_CARD_UPC_NO 11
1608 
1623 #define canCHANNELDATA_TRANS_UPC_NO 12
1624 
1642 #define canCHANNELDATA_CHANNEL_NAME 13
1643 
1664 # define canCHANNELDATA_DLL_FILE_VERSION 14
1665 
1686 # define canCHANNELDATA_DLL_PRODUCT_VERSION 15
1687 
1707 # define canCHANNELDATA_DLL_FILETYPE 16
1708 
1722 # define canCHANNELDATA_TRANS_TYPE 17
1723 
1747 # define canCHANNELDATA_DEVICE_PHYSICAL_POSITION 18
1748 
1765 # define canCHANNELDATA_UI_NUMBER 19
1766 
1794 # define canCHANNELDATA_TIMESYNC_ENABLED 20
1795 
1815 # define canCHANNELDATA_DRIVER_FILE_VERSION 21
1816 
1836 # define canCHANNELDATA_DRIVER_PRODUCT_VERSION 22
1837 
1850 # define canCHANNELDATA_MFGNAME_UNICODE 23
1851 
1859 # define canCHANNELDATA_MFGNAME_ASCII 24
1860 
1873 # define canCHANNELDATA_DEVDESCR_UNICODE 25
1874 
1882 # define canCHANNELDATA_DEVDESCR_ASCII 26
1883 
1894 # define canCHANNELDATA_DRIVER_NAME 27
1895 
1912 # define canCHANNELDATA_CHANNEL_QUALITY 28
1913 
1926 # define canCHANNELDATA_ROUNDTRIP_TIME 29
1927 
1940 # define canCHANNELDATA_BUS_TYPE 30
1941 
1957 # define canCHANNELDATA_DEVNAME_ASCII 31
1958 
1973 # define canCHANNELDATA_TIME_SINCE_LAST_SEEN 32
1974 
1988 # define canCHANNELDATA_REMOTE_OPERATIONAL_MODE 33
1989 
2002 # define canCHANNELDATA_REMOTE_PROFILE_NAME 34
2003 
2016 # define canCHANNELDATA_REMOTE_HOST_NAME 35
2017 
2030 # define canCHANNELDATA_REMOTE_MAC 36
2031 
2040 # define canCHANNELDATA_MAX_BITRATE 37
2041 
2052 # define canCHANNELDATA_CHANNEL_CAP_MASK 38
2053 
2061 # define canCHANNELDATA_IS_REMOTE 40
2062 
2070 # define canCHANNELDATA_REMOTE_TYPE 41
2071 
2079 # define canCHANNELDATA_LOGGER_TYPE 42
2080 
2090 # define canCHANNELDATA_HW_STATUS 43
2091 
2101 # define canCHANNELDATA_FEATURE_EAN 44
2102 
2111 #define canCHANNELDATA_CUST_CHANNEL_NAME 39
2112 
2126 #define canCHANNEL_IS_EXCLUSIVE 0x0001
2127 
2129 #define canCHANNEL_IS_OPEN 0x0002
2130 
2134 #define canCHANNEL_IS_CANFD 0x0004
2135 
2136 //#define canCHANNEL_IS_CANFD_NON_ISO 0x0008 Reserved for when needed
2137 
2156 #define canHWTYPE_NONE 0
2157 #define canHWTYPE_VIRTUAL 1
2158 #define canHWTYPE_LAPCAN 2
2159 #define canHWTYPE_CANPARI 3
2160 #define canHWTYPE_PCCAN 8
2161 #define canHWTYPE_PCICAN 9
2162 #define canHWTYPE_USBCAN 11
2163 #define canHWTYPE_PCICAN_II 40
2164 #define canHWTYPE_USBCAN_II 42
2165 #define canHWTYPE_SIMULATED 44
2166 #define canHWTYPE_ACQUISITOR 46
2167 #define canHWTYPE_LEAF 48
2168 #define canHWTYPE_PC104_PLUS 50
2169 #define canHWTYPE_PCICANX_II 52
2170 #define canHWTYPE_MEMORATOR_II 54
2171 #define canHWTYPE_MEMORATOR_PRO 54
2172 #define canHWTYPE_USBCAN_PRO 56
2173 #define canHWTYPE_IRIS 58
2174 #define canHWTYPE_BLACKBIRD 58
2175 #define canHWTYPE_MEMORATOR_LIGHT 60
2176 #define canHWTYPE_MINIHYDRA 62
2177 #define canHWTYPE_EAGLE 62
2178 #define canHWTYPE_BAGEL 64
2179 #define canHWTYPE_BLACKBIRD_V2 64
2180 #define canHWTYPE_MINIPCIE 66
2181 #define canHWTYPE_USBCAN_KLINE 68
2182 #define canHWTYPE_ETHERCAN 70
2183 #define canHWTYPE_USBCAN_LIGHT 72
2184 #define canHWTYPE_USBCAN_PRO2 74
2185 #define canHWTYPE_PCIE_V2 76
2186 #define canHWTYPE_MEMORATOR_PRO2 78
2187 #define canHWTYPE_LEAF2 80
2188 #define canHWTYPE_MEMORATOR_V2 82
2189 #define canHWTYPE_CANLINHYBRID 84
2190 
2191 
2200 #define canCHANNEL_CAP_EXTENDED_CAN 0x00000001L
2201 #define canCHANNEL_CAP_BUS_STATISTICS 0x00000002L
2202 #define canCHANNEL_CAP_ERROR_COUNTERS 0x00000004L
2203 #define canCHANNEL_CAP_CAN_DIAGNOSTICS 0x00000008L
2204 #define canCHANNEL_CAP_GENERATE_ERROR 0x00000010L
2205 #define canCHANNEL_CAP_GENERATE_OVERLOAD 0x00000020L
2206 #define canCHANNEL_CAP_TXREQUEST 0x00000040L
2207 #define canCHANNEL_CAP_TXACKNOWLEDGE 0x00000080L
2208 #define canCHANNEL_CAP_VIRTUAL 0x00010000L
2209 #define canCHANNEL_CAP_SIMULATED 0x00020000L
2210 #define canCHANNEL_CAP_RESERVED_1 0x00040000L
2211 #define canCHANNEL_CAP_CAN_FD 0x00080000L
2212 #define canCHANNEL_CAP_CAN_FD_NONISO 0x00100000L
2213 #define canCHANNEL_CAP_SILENT_MODE 0x00200000L
2214 #define canCHANNEL_CAP_SINGLE_SHOT 0x00400000L
2215 #define canCHANNEL_CAP_LOGGER 0x00800000L
2216 #define canCHANNEL_CAP_REMOTE_ACCESS 0x01000000L
2217 #define canCHANNEL_CAP_SCRIPT 0x02000000L
2218 #define canCHANNEL_CAP_LIN_FLEX 0x04000000L
2219 
2220 
2229 #define canCHANNEL_OPMODE_NONE 1
2230 #define canCHANNEL_OPMODE_INFRASTRUCTURE 2
2231 #define canCHANNEL_OPMODE_RESERVED 3
2232 #define canCHANNEL_OPMODE_ADHOC 4
2233 
2243 #define canDRIVER_CAP_HIGHSPEED 0x00000001L
2244 
2267 #define canIOCTL_PREFER_EXT 1
2268 
2279 #define canIOCTL_PREFER_STD 2
2280 
2281 // 3,4 reserved.
2282 
2296 #define canIOCTL_CLEAR_ERROR_COUNTERS 5
2297 
2309 #define canIOCTL_SET_TIMER_SCALE 6
2310 
2326 #define canIOCTL_SET_TXACK 7
2327 
2340 #define canIOCTL_GET_RX_BUFFER_LEVEL 8
2341 
2354 #define canIOCTL_GET_TX_BUFFER_LEVEL 9
2355 
2365 #define canIOCTL_FLUSH_RX_BUFFER 10
2366 
2376 #define canIOCTL_FLUSH_TX_BUFFER 11
2377 
2386 #define canIOCTL_GET_TIMER_SCALE 12
2387 
2399 #define canIOCTL_SET_TXRQ 13
2400 
2428 #define canIOCTL_GET_EVENTHANDLE 14
2429 
2436 #define canIOCTL_SET_BYPASS_MODE 15
2437 
2443 #define canIOCTL_SET_WAKEUP 16
2444 
2452 # define canIOCTL_GET_DRIVERHANDLE 17
2453 
2459 # define canIOCTL_MAP_RXQUEUE 18
2460 
2466 # define canIOCTL_GET_WAKEUP 19
2467 
2479 # define canIOCTL_SET_REPORT_ACCESS_ERRORS 20
2480 
2488 # define canIOCTL_GET_REPORT_ACCESS_ERRORS 21
2489 
2497 # define canIOCTL_CONNECT_TO_VIRTUAL_BUS 22
2498 
2506 # define canIOCTL_DISCONNECT_FROM_VIRTUAL_BUS 23
2507 
2515 # define canIOCTL_SET_USER_IOPORT 24
2516 
2525 # define canIOCTL_GET_USER_IOPORT 25
2526 
2532 # define canIOCTL_SET_BUFFER_WRAPAROUND_MODE 26
2533 
2548 # define canIOCTL_SET_RX_QUEUE_SIZE 27
2549 
2555 # define canIOCTL_SET_USB_THROTTLE 28
2556 
2562 # define canIOCTL_GET_USB_THROTTLE 29
2563 
2574 # define canIOCTL_SET_BUSON_TIME_AUTO_RESET 30
2575 
2587 # define canIOCTL_GET_TXACK 31
2588 
2603 # define canIOCTL_SET_LOCAL_TXECHO 32
2604 
2615 # define canIOCTL_SET_ERROR_FRAMES_REPORTING 33
2616 
2628 # define canIOCTL_GET_CHANNEL_QUALITY 34
2629 
2637 # define canIOCTL_GET_ROUNDTRIP_TIME 35
2638 
2645 # define canIOCTL_GET_BUS_TYPE 36
2646 
2657 # define canIOCTL_GET_DEVNAME_ASCII 37
2658 
2668 # define canIOCTL_GET_TIME_SINCE_LAST_SEEN 38
2669 
2670 
2684 # define canIOCTL_GET_TREF_LIST 39
2685 
2707 # define canIOCTL_TX_INTERVAL 40
2708 
2719 # define canIOCTL_SET_BRLIMIT 43
2720 
2724 # define canIOCTL_SET_USB_THROTTLE_SCALED 41
2725 
2738 # define canIOCTL_SET_THROTTLE_SCALED 41
2739 
2743 # define canIOCTL_GET_USB_THROTTLE_SCALED 42
2744 
2757 # define canIOCTL_GET_THROTTLE_SCALED 42
2758 
2765 # define canIOCTL_RESET_OVERRUN_COUNT 44
2766 
2769 typedef struct {
2770  unsigned int portNo;
2771  unsigned int portValue;
2773 
2802 canStatus CANLIBAPI canWaitForEvent (const CanHandle hnd, DWORD timeout);
2803 
2844 canStatus CANLIBAPI canSetBusParamsC200 (const CanHandle hnd, unsigned char btr0, unsigned char btr1);
2845 
2846 
2886 canStatus CANLIBAPI canSetDriverMode (const CanHandle hnd, int lineMode, int resNet);
2887 
2928 canStatus CANLIBAPI canGetDriverMode (const CanHandle hnd, int *lineMode, int *resNet);
2929 
2947 #define canVERSION_CANLIB32_VERSION 0
2948 
2959 #define canVERSION_CANLIB32_PRODVER 1
2960 
2972 #define canVERSION_CANLIB32_PRODVER32 2
2973 
2981 #define canVERSION_CANLIB32_BETA 3
2982 
3002 unsigned int CANLIBAPI canGetVersionEx (unsigned int itemCode);
3003 
3021 canStatus CANLIBAPI canParamGetCount (void);
3022 
3046 canStatus CANLIBAPI canParamCommitChanges (void);
3047 
3072 canStatus CANLIBAPI canParamDeleteEntry (int index);
3073 
3096 canStatus CANLIBAPI canParamCreateNewEntry (void);
3097 
3125 canStatus CANLIBAPI canParamSwapEntries (int index1, int index2);
3126 
3155 canStatus CANLIBAPI canParamGetName (int index, char *buffer, int maxlen);
3156 
3177 canStatus CANLIBAPI canParamGetChannelNumber (int index);
3178 
3207 canStatus CANLIBAPI canParamGetBusParams (int index,
3208  long* bitrate,
3209  unsigned int *tseg1,
3210  unsigned int *tseg2,
3211  unsigned int *sjw,
3212  unsigned int *noSamp);
3213 
3236 canStatus CANLIBAPI canParamSetName (int index, const char *buffer);
3237 
3259 canStatus CANLIBAPI canParamSetChannelNumber (int index, int channel);
3260 
3293 canStatus CANLIBAPI canParamSetBusParams (int index,
3294  long bitrate,
3295  unsigned int tseg1,
3296  unsigned int tseg2,
3297  unsigned int sjw,
3298  unsigned int noSamp);
3299 
3319 canStatus CANLIBAPI canParamFindByName (const char *name);
3339 canStatus CANLIBAPI canObjBufFreeAll (const CanHandle hnd);
3340 
3361 canStatus CANLIBAPI canObjBufAllocate (const CanHandle hnd, int type);
3362 
3371 #define canOBJBUF_TYPE_AUTO_RESPONSE 0x01
3372 #define canOBJBUF_TYPE_PERIODIC_TX 0x02
3373 
3395 canStatus CANLIBAPI canObjBufFree (const CanHandle hnd, int idx);
3396 
3397 // Writes CAN data to the object buffer with the specified index.
3398 
3424 canStatus CANLIBAPI canObjBufWrite (const CanHandle hnd,
3425  int idx,
3426  int id,
3427  void* msg,
3428  unsigned int dlc,
3429  unsigned int flags);
3430 
3457 canStatus CANLIBAPI canObjBufSetFilter (const CanHandle hnd,
3458  int idx,
3459  unsigned int code,
3460  unsigned int mask);
3461 
3482 canStatus CANLIBAPI canObjBufSetFlags (const CanHandle hnd,
3483  int idx,
3484  unsigned int flags);
3485 
3503 # define canOBJBUF_AUTO_RESPONSE_RTR_ONLY 0x01
3504 
3526 canStatus CANLIBAPI canObjBufSetPeriod (const CanHandle hnd,
3527  int idx,
3528  unsigned int period);
3529 
3550 canStatus CANLIBAPI canObjBufSetMsgCount (const CanHandle hnd,
3551  int idx,
3552  unsigned int count);
3553 
3573 canStatus CANLIBAPI canObjBufEnable (const CanHandle hnd, int idx);
3574 
3594 canStatus CANLIBAPI canObjBufDisable (const CanHandle hnd, int idx);
3595 
3619 canStatus CANLIBAPI canObjBufSendBurst (const CanHandle hnd,
3620  int idx,
3621  unsigned int burstlen);
3622 
3639 #define canVERSION_DONT_ACCEPT_LATER 0x01
3640 
3647 #define canVERSION_DONT_ACCEPT_BETAS 0x02
3648 
3687 BOOL CANLIBAPI canProbeVersion (const CanHandle hnd,
3688  int major,
3689  int minor,
3690  int oem_id,
3691  unsigned int flags);
3692 
3715 canStatus CANLIBAPI canResetBus (const CanHandle hnd);
3716 
3753 canStatus CANLIBAPI canWriteWait (const CanHandle hnd,
3754  long id,
3755  void *msg,
3756  unsigned int dlc,
3757  unsigned int flag,
3758  unsigned long timeout);
3759 
3760 
3785 canStatus CANLIBAPI canUnloadLibrary (void);
3786 
3848 canStatus CANLIBAPI canSetAcceptanceFilter (const CanHandle hnd,
3849  unsigned int code,
3850  unsigned int mask,
3851  int is_extended);
3852 
3876 canStatus CANLIBAPI canFlushReceiveQueue (const CanHandle hnd);
3877 
3902 canStatus CANLIBAPI canFlushTransmitQueue (const CanHandle hnd);
3903 
3923 canStatus CANLIBAPI kvGetApplicationMapping (int busType,
3924  char *appName,
3925  int appChannel,
3926  int *resultingChannel);
3927 
3949 canStatus CANLIBAPI kvBeep (const CanHandle hnd,
3950  int freq,
3951  unsigned int duration);
3952 
3972 canStatus CANLIBAPI kvSelfTest (const CanHandle hnd, unsigned long *presults);
3973 
3982 #define kvLED_ACTION_ALL_LEDS_ON 0
3983 #define kvLED_ACTION_ALL_LEDS_OFF 1
3984 #define kvLED_ACTION_LED_0_ON 2
3985 #define kvLED_ACTION_LED_0_OFF 3
3986 #define kvLED_ACTION_LED_1_ON 4
3987 #define kvLED_ACTION_LED_1_OFF 5
3988 #define kvLED_ACTION_LED_2_ON 6
3989 #define kvLED_ACTION_LED_2_OFF 7
3990 #define kvLED_ACTION_LED_3_ON 8
3991 #define kvLED_ACTION_LED_3_OFF 9
3992 #define kvLED_ACTION_LED_4_ON 10
3993 #define kvLED_ACTION_LED_4_OFF 11
3994 #define kvLED_ACTION_LED_5_ON 12
3995 #define kvLED_ACTION_LED_5_OFF 13
3996 #define kvLED_ACTION_LED_6_ON 14
3997 #define kvLED_ACTION_LED_6_OFF 15
3998 #define kvLED_ACTION_LED_7_ON 16
3999 #define kvLED_ACTION_LED_7_OFF 17
4000 #define kvLED_ACTION_LED_8_ON 18
4001 #define kvLED_ACTION_LED_8_OFF 19
4002 #define kvLED_ACTION_LED_9_ON 20
4003 #define kvLED_ACTION_LED_9_OFF 21
4004 #define kvLED_ACTION_LED_10_ON 22
4005 #define kvLED_ACTION_LED_10_OFF 23
4006 #define kvLED_ACTION_LED_11_ON 24
4007 #define kvLED_ACTION_LED_11_OFF 25
4008 
4009 
4032 canStatus CANLIBAPI kvFlashLeds (const CanHandle hnd, int action, int timeout);
4033 
4073 canStatus CANLIBAPI canRequestChipStatus (const CanHandle hnd);
4074 
4101 canStatus CANLIBAPI canRequestBusStatistics (const CanHandle hnd);
4102 
4108 typedef struct canBusStatistics_s {
4109  unsigned long stdData;
4110  unsigned long stdRemote;
4111  unsigned long extData;
4112  unsigned long extRemote;
4113  unsigned long errFrame;
4114 
4119  unsigned long busLoad;
4120  unsigned long overruns;
4122 
4145 canStatus CANLIBAPI canGetBusStatistics (const CanHandle hnd,
4146  canBusStatistics *stat,
4147  size_t bufsiz);
4148 
4169 canStatus CANLIBAPI canSetBitrate (const CanHandle hnd, int bitrate);
4170 
4188 canStatus CANLIBAPI kvAnnounceIdentity (const CanHandle hnd,
4189  void *buf,
4190  size_t bufsiz);
4204 canStatus CANLIBAPI kvAnnounceIdentityEx (const CanHandle hnd,
4205  int type,
4206  void *buf,
4207  size_t bufsiz);
4208 
4229 canStatus CANLIBAPI canGetHandleData (const CanHandle hnd,
4230  int item,
4231  void *buffer,
4232  size_t bufsize);
4233 
4235 typedef void *kvTimeDomain;
4236 
4239 
4244 typedef struct kvTimeDomainData_s {
4250 
4279 kvStatus CANLIBAPI kvTimeDomainCreate (kvTimeDomain *domain);
4280 
4303 kvStatus CANLIBAPI kvTimeDomainDelete (kvTimeDomain domain);
4304 
4330 kvStatus CANLIBAPI kvTimeDomainResetTime (kvTimeDomain domain);
4331 
4356 kvStatus CANLIBAPI kvTimeDomainGetData (kvTimeDomain domain,
4357  kvTimeDomainData *data,
4358  size_t bufsiz);
4359 
4382 kvStatus CANLIBAPI kvTimeDomainAddHandle(kvTimeDomain domain,
4383  const CanHandle hnd);
4384 
4406 kvStatus CANLIBAPI kvTimeDomainRemoveHandle (kvTimeDomain domain,
4407  const CanHandle hnd);
4408 
4421 typedef void (CANLIBAPI *kvCallback_t) (CanHandle hnd, void* context, unsigned int notifyEvent);
4422 
4456 kvStatus CANLIBAPI kvSetNotifyCallback (const CanHandle hnd,
4457  kvCallback_t callback,
4458  void* context,
4459  unsigned int notifyFlags);
4460 
4468 #define kvBUSTYPE_NONE 0
4469 #define kvBUSTYPE_PCI 1
4470 #define kvBUSTYPE_PCMCIA 2
4471 #define kvBUSTYPE_USB 3
4472 #define kvBUSTYPE_WLAN 4
4473 #define kvBUSTYPE_PCI_EXPRESS 5
4474 #define kvBUSTYPE_ISA 6
4475 #define kvBUSTYPE_VIRTUAL 7
4476 #define kvBUSTYPE_PC104_PLUS 8
4477 #define kvBUSTYPE_LAN 9
4478 
4488 #define kvBUSTYPE_GROUP_VIRTUAL 1
4489 #define kvBUSTYPE_GROUP_LOCAL 2
4490 #define kvBUSTYPE_GROUP_REMOTE 3
4491 #define kvBUSTYPE_GROUP_INTERNAL 4
4492 
4544 kvStatus CANLIBAPI kvGetSupportedInterfaceInfo (int index,
4545  char *hwName,
4546  size_t nameLen,
4547  int *hwType,
4548  int *hwBusType);
4575 kvStatus CANLIBAPI kvReadDeviceCustomerData (const CanHandle hnd,
4576  int userNumber,
4577  int itemNumber,
4578  void *data,
4579  size_t bufsiz);
4580 
4594 #define kvENVVAR_TYPE_INT 1
4595 
4601 #define kvENVVAR_TYPE_FLOAT 2
4602 
4608 #define kvENVVAR_TYPE_STRING 3
4609 
4625 #define kvEVENT_TYPE_KEY 1
4626 
4635  typedef __int64 kvEnvHandle;
4655 kvStatus CANLIBAPI kvScriptStart (const CanHandle hnd, int slotNo);
4656 
4663 #define kvSCRIPT_STOP_NORMAL 0
4664 #define kvSCRIPT_STOP_FORCED -9
4688 kvStatus CANLIBAPI kvScriptStop (const CanHandle hnd, int slotNo, int mode);
4689 
4709 kvStatus CANLIBAPI kvScriptUnload (const CanHandle hnd, int slotNo);
4710 
4737 kvStatus CANLIBAPI kvScriptSendEvent (const CanHandle hnd,
4738  int slotNo,
4739  int eventType,
4740  int eventNo,
4741  unsigned int data);
4742 
4771 kvEnvHandle CANLIBAPI kvScriptEnvvarOpen (const CanHandle hnd,
4772  char* envvarName,
4773  int *envvarType,
4774  int *envvarSize); // returns scriptHandle
4775 
4797 kvStatus CANLIBAPI kvScriptEnvvarClose (kvEnvHandle eHnd);
4798 
4823 kvStatus CANLIBAPI kvScriptEnvvarSetInt (kvEnvHandle eHnd, int val);
4824 
4850 kvStatus CANLIBAPI kvScriptEnvvarGetInt (kvEnvHandle eHnd, int *val);
4851 
4876 kvStatus CANLIBAPI kvScriptEnvvarSetFloat (kvEnvHandle eHnd, float val);
4877 
4903 kvStatus CANLIBAPI kvScriptEnvvarGetFloat (kvEnvHandle eHnd, float *val);
4904 
4933 kvStatus CANLIBAPI kvScriptEnvvarSetData (kvEnvHandle eHnd,
4934  void *buf,
4935  int start_index,
4936  int data_len);
4937 
4965 kvStatus CANLIBAPI kvScriptEnvvarGetData (kvEnvHandle eHnd,
4966  void *buf,
4967  int start_index,
4968  int data_len);
4969 
4997 kvStatus CANLIBAPI kvScriptLoadFileOnDevice (const CanHandle hnd,
4998  int slotNo,
4999  char *localFile);
5000 
5024 kvStatus CANLIBAPI kvScriptLoadFile (const CanHandle hnd,
5025  int slotNo,
5026  char *filePathOnPC);
5027 
5028 
5029 
5043 #define kvSCRIPT_REQUEST_TEXT_UNSUBSCRIBE 1
5044 
5048 #define kvSCRIPT_REQUEST_TEXT_SUBSCRIBE 2
5049 
5053 #define kvSCRIPT_REQUEST_TEXT_ALL_SLOTS 255
5054 
5078 kvStatus CANLIBAPI kvScriptRequestText(const CanHandle hnd,
5079  unsigned int slot,
5080  unsigned int request);
5081 
5082 
5083 
5106 kvStatus CANLIBAPI kvScriptGetText(const CanHandle hnd,
5107  int *slot,
5108  unsigned long *time,
5109  unsigned int *flags,
5110  char *buf,
5111  size_t bufsize
5112  );
5113 
5114 
5121 #define kvSCRIPT_STATUS_LOADED 1
5122 #define kvSCRIPT_STATUS_RUNNING 2
5146 kvStatus CANLIBAPI kvScriptStatus(const CanHandle hnd,
5147  int slot,
5148  unsigned int *status);
5149 
5150 
5151 
5174 kvStatus CANLIBAPI kvFileCopyToDevice (const CanHandle hnd,
5175  char *hostFileName,
5176  char *deviceFileName);
5177 
5204 kvStatus CANLIBAPI kvFileCopyFromDevice (const CanHandle hnd,
5205  char *deviceFileName,
5206  char *hostFileName);
5207 
5233 kvStatus CANLIBAPI kvFileDelete (const CanHandle hnd, char *deviceFileName);
5234 
5257 kvStatus CANLIBAPI kvFileGetName (const CanHandle hnd,
5258  int fileNo,
5259  char *name,
5260  int namelen);
5261 
5281 kvStatus CANLIBAPI kvFileGetCount (const CanHandle hnd, int *count);
5282 
5305 kvStatus CANLIBAPI kvFileGetSystemData (const CanHandle hnd,
5306  int itemCode,
5307  int *result);
5308 
5326 #define kvDEVICE_MODE_INTERFACE 0x00
5327 
5332 #define kvDEVICE_MODE_LOGGER 0x01
5333 
5358 kvStatus CANLIBAPI kvDeviceSetMode (const CanHandle hnd, int mode);
5359 
5382 kvStatus CANLIBAPI kvDeviceGetMode (const CanHandle hnd, int *result);
5383 
5384 
5402 kvStatus CANLIBAPI kvPingRequest (const CanHandle hnd,
5403  unsigned int *requestTime);
5404 
5422  kvStatus CANLIBAPI kvPingGetLatest (const CanHandle hnd,
5423  unsigned int *requestTime,
5424  unsigned int *pingTime);
5425 
5427 
5436 //
5437 //
5438 //
5439 #if defined(_CANEVT_H_)
5440 canStatus CANLIBAPI canReadEvent (const CanHandle hnd, CanEvent *event);
5441 #endif /* _CANEVT_H_ */
5442 
5444 void CANLIBAPI canSetDebug(int d);
5446 canStatus CANLIBAPI canSetNotifyEx (const CanHandle hnd,
5447  HANDLE event,
5448  unsigned int flags);
5450 canStatus CANLIBAPI canSetTimer (const CanHandle hnd,
5451  DWORD interval,
5452  DWORD flags);
5454 #define canTIMER_CYCLIC 0x01
5455 
5456 #define canTIMER_EXPENSIVE 0x02
5457 
5458 int CANLIBAPI canSplitHandle (CanHandle hnd, int channel);
5460 int CANLIBAPI canOpenMultiple (DWORD bitmask, int flags);
5462 
5492 kvStatus CANLIBAPI kvReadTimer (const CanHandle hnd, unsigned int *time);
5493 
5522 kvStatus CANLIBAPI kvReadTimer64 (const CanHandle hnd, KVINT64 *time);
5523 
5524 #ifdef __cplusplus
5525 }
5526 #endif /* __cplusplus */
5527 
5528 #include "obsolete.h"
5529 
5530 
5531 #endif /* _CANLIB_H_ */
canStatus canParamSetBusParams(int index, long bitrate, unsigned int tseg1, unsigned int tseg2, unsigned int sjw, unsigned int noSamp)
kvStatus kvScriptEnvvarGetFloat(kvEnvHandle eHnd, float *val)
unsigned long stdRemote
Number of received standard (11-bit identifiers) remote frames.
Definition: canlib.h:4110
canStatus canParamSwapEntries(int index1, int index2)
kvStatus kvFileGetSystemData(const int hnd, int itemCode, int *result)
kvStatus kvTimeDomainDelete(kvTimeDomain domain)
BOOL canProbeVersion(const int hnd, int major, int minor, int oem_id, unsigned int flags)
canStatus canSetBitrate(const int hnd, int bitrate)
canStatus canSetBusOutputControl(const int hnd, const unsigned int drivertype)
canStatus canGetBusStatistics(const int hnd, canBusStatistics *stat, size_t bufsiz)
canStatus canReadSyncSpecific(const int hnd, long id, unsigned long timeout)
kvStatus kvScriptRequestText(const int hnd, unsigned int slot, unsigned int request)
canStatus canSetNotify(const int hnd, HWND aHWnd, unsigned int aNotifyFlags)
canStatus canReadSpecific(const int hnd, long id, void *msg, unsigned int *dlc, unsigned int *flag, unsigned long *time)
kvStatus kvTimeDomainCreate(kvTimeDomain *domain)
kvStatus kvTimeDomainRemoveHandle(kvTimeDomain domain, const int hnd)
unsigned int portNo
Port number used in e.g. canIOCTL_SET_USER_IOPORT.
Definition: canlib.h:2770
int nNonMagiSyncCards
number of non MagiSync™ interfaces
Definition: canlib.h:4247
canStatus canSetDriverMode(const int hnd, int lineMode, int resNet)
canStatus canObjBufEnable(const int hnd, int idx)
canStatus canClose(const int hnd)
kvStatus kvScriptEnvvarSetData(kvEnvHandle eHnd, void *buf, int start_index, int data_len)
canStatus kvGetApplicationMapping(int busType, char *appName, int appChannel, int *resultingChannel)
kvStatus kvFileCopyFromDevice(const int hnd, char *deviceFileName, char *hostFileName)
void * kvTimeDomain
Definition: canlib.h:4235
unsigned long extRemote
Number of received extended (29-bit identifiers) remote frames.
Definition: canlib.h:4112
canStatus canRead(const int hnd, long *id, void *msg, unsigned int *dlc, unsigned int *flag, unsigned long *time)
canStatus canGetBusOutputControl(const int hnd, unsigned int *drivertype)
kvStatus kvSetNotifyCallback(const int hnd, kvCallback_t callback, void *context, unsigned int notifyFlags)
canStatus kvSelfTest(const int hnd, unsigned long *presults)
kvStatus kvFileGetCount(const int hnd, int *count)
canStatus canTranslateBaud(long *const freq, unsigned int *const tseg1, unsigned int *const tseg2, unsigned int *const sjw, unsigned int *const nosamp, unsigned int *const syncMode)
unsigned long canReadTimer(const int hnd)
int canHandle
Definition: canlib.h:40
kvStatus kvScriptSendEvent(const int hnd, int slotNo, int eventType, int eventNo, unsigned int data)
canStatus canGetErrorText(canStatus err, char *buf, unsigned int bufsiz)
canStatus canParamGetChannelNumber(int index)
canStatus kvAnnounceIdentity(const int hnd, void *buf, size_t bufsiz)
canStatus canWrite(const int hnd, long id, void *msg, unsigned int dlc, unsigned int flag)
kvStatus kvScriptEnvvarGetInt(kvEnvHandle eHnd, int *val)
canStatus canObjBufDisable(const int hnd, int idx)
kvStatus kvDeviceSetMode(const int hnd, int mode)
canStatus canReadSync(const int hnd, unsigned long timeout)
canStatus canGetNumberOfChannels(int *channelCount)
canStatus canObjBufSendBurst(const int hnd, int idx, unsigned int burstlen)
kvStatus kvScriptStart(const int hnd, int slotNo)
kvStatus kvReadDeviceCustomerData(const int hnd, int userNumber, int itemNumber, void *data, size_t bufsiz)
int canOpenChannel(int channel, int flags)
kvStatus kvScriptEnvvarSetInt(kvEnvHandle eHnd, int val)
canStatus canWaitForEvent(const int hnd, DWORD timeout)
kvStatus kvFileGetName(const int hnd, int fileNo, char *name, int namelen)
canStatus canReadErrorCounters(const int hnd, unsigned int *txErr, unsigned int *rxErr, unsigned int *ovErr)
canStatus canObjBufSetFlags(const int hnd, int idx, unsigned int flags)
canStatus canWriteSync(const int hnd, unsigned long timeout)
kvStatus kvScriptLoadFileOnDevice(const int hnd, int slotNo, char *localFile)
struct kvTimeDomainData_s kvTimeDomainData
kvStatus kvScriptEnvvarClose(kvEnvHandle eHnd)
unsigned int portValue
Port value used in e.g. canIOCTL_SET_USER_IOPORT.
Definition: canlib.h:2771
kvStatus kvScriptGetText(const int hnd, int *slot, unsigned long *time, unsigned int *flags, char *buf, size_t bufsize)
canStatus canParamSetName(int index, const char *buffer)
canStatus canReadWait(const int hnd, long *id, void *msg, unsigned int *dlc, unsigned int *flag, unsigned long *time, unsigned long timeout)
unsigned long errFrame
Number of error frames.
Definition: canlib.h:4113
canStatus kvFlashLeds(const int hnd, int action, int timeout)
canStatus canGetHandleData(const int hnd, int item, void *buffer, size_t bufsize)
canStatus kvAnnounceIdentityEx(const int hnd, int type, void *buf, size_t bufsiz)
kvStatus kvTimeDomainResetTime(kvTimeDomain domain)
void canInitializeLibrary(void)
canStatus kvBeep(const int hnd, int freq, unsigned int duration)
kvStatus kvReadTimer(const int hnd, unsigned int *time)
canStatus canParamCommitChanges(void)
canStatus canReadStatus(const int hnd, unsigned long *const flags)
kvStatus kvScriptEnvvarSetFloat(kvEnvHandle eHnd, float val)
unsigned long extData
Number of received extended (29-bit identifiers) data frames.
Definition: canlib.h:4111
canStatus canParamGetCount(void)
__int64 kvEnvHandle
Definition: canlib.h:4635
kvStatus kvFileCopyToDevice(const int hnd, char *hostFileName, char *deviceFileName)
kvStatus kvTimeDomainGetData(kvTimeDomain domain, kvTimeDomainData *data, size_t bufsiz)
canStatus canObjBufSetMsgCount(const int hnd, int idx, unsigned int count)
canStatus canObjBufSetFilter(const int hnd, int idx, unsigned int code, unsigned int mask)
canStatus canGetBusParams(const int hnd, long *freq, unsigned int *tseg1, unsigned int *tseg2, unsigned int *sjw, unsigned int *noSamp, unsigned int *syncmode)
canStatus canBusOn(const int hnd)
kvStatus kvScriptUnload(const int hnd, int slotNo)
unsigned short canGetVersion(void)
kvStatus kvTimeDomainAddHandle(kvTimeDomain domain, const int hnd)
canStatus canSetBusParamsFd(const int hnd, long freq_brs, unsigned int tseg1_brs, unsigned int tseg2_brs, unsigned int sjw_brs)
kvStatus kvDeviceGetMode(const int hnd, int *result)
canStatus canIoCtl(const int hnd, unsigned int func, void *buf, unsigned int buflen)
canStatus canBusOff(const int hnd)
canStatus canSetBusParamsC200(const int hnd, unsigned char btr0, unsigned char btr1)
kvEnvHandle kvScriptEnvvarOpen(const int hnd, char *envvarName, int *envvarType, int *envvarSize)
int nMagiSyncGroups
number of MagiSync™ groups
Definition: canlib.h:4245
struct canBusStatistics_s canBusStatistics
canStatus
Definition: canstat.h:46
kvStatus kvReadTimer64(const int hnd, int64_t *time)
canStatus canReadSpecificSkip(const int hnd, long id, void *msg, unsigned int *dlc, unsigned int *flag, unsigned long *time)
canStatus canAccept(const int hnd, const long envelope, const unsigned int flag)
unsigned long stdData
Number of received standard (11-bit identifiers) data frames.
Definition: canlib.h:4109
canStatus canRequestChipStatus(const int hnd)
unsigned long overruns
The number of overruns detected by the hardware, firmware or driver.
Definition: canlib.h:4120
kvStatus kvScriptLoadFile(const int hnd, int slotNo, char *filePathOnPC)
Definition: canlib.h:4244
canStatus canFlushTransmitQueue(const int hnd)
canStatus canParamDeleteEntry(int index)
canStatus canParamFindByName(const char *name)
void(* kvCallback_t)(int hnd, void *context, unsigned int notifyEvent)
Definition: canlib.h:4421
canStatus canGetDriverMode(const int hnd, int *lineMode, int *resNet)
unsigned long busLoad
Definition: canlib.h:4119
Definition: canlib.h:4108
canStatus canParamCreateNewEntry(void)
canStatus kvStatus
Definition: canlib.h:4238
#define CanHandle
Definition: canlib.h:45
canStatus canWriteWait(const int hnd, long id, void *msg, unsigned int dlc, unsigned int flag, unsigned long timeout)
Definition: canlib.h:2769
canStatus canObjBufWrite(const int hnd, int idx, int id, void *msg, unsigned int dlc, unsigned int flags)
canStatus canUnloadLibrary(void)
canStatus canGetBusParamsFd(const int hnd, long *freq_brs, unsigned int *tseg1_brs, unsigned int *tseg2_brs, unsigned int *sjw_brs)
int nNonMagiSyncedMembers
number of non MagiSync™ members
Definition: canlib.h:4248
canStatus canSetBusParams(const int hnd, long freq, unsigned int tseg1, unsigned int tseg2, unsigned int sjw, unsigned int noSamp, unsigned int syncmode)
canStatus canResetBus(const int hnd)
canStatus canRequestBusStatistics(const int hnd)
kvStatus kvScriptEnvvarGetData(kvEnvHandle eHnd, void *buf, int start_index, int data_len)
canStatus canParamGetBusParams(int index, long *bitrate, unsigned int *tseg1, unsigned int *tseg2, unsigned int *sjw, unsigned int *noSamp)
canStatus canFlushReceiveQueue(const int hnd)
canStatus canObjBufFreeAll(const int hnd)
kvStatus kvPingGetLatest(const int hnd, unsigned int *requestTime, unsigned int *pingTime)
canStatus canParamGetName(int index, char *buffer, int maxlen)
kvStatus kvPingRequest(const int hnd, unsigned int *requestTime)
canStatus canSetAcceptanceFilter(const int hnd, unsigned int code, unsigned int mask, int is_extended)
canStatus canObjBufSetPeriod(const int hnd, int idx, unsigned int period)
kvStatus kvFileDelete(const int hnd, char *deviceFileName)
canStatus canParamSetChannelNumber(int index, int channel)
canStatus canObjBufAllocate(const int hnd, int type)
unsigned int canGetVersionEx(unsigned int itemCode)
int nMagiSyncedMembers
number of MagiSync™ members
Definition: canlib.h:4246