canlib.h
Go to the documentation of this file.
1 /*
2  * Copyright 2017 by Kvaser AB, Molndal, Sweden
3  * http://www.kvaser.com
4  *
5  * This software is dual licensed under the following two licenses:
6  * BSD-new and GPLv2. You may use either one. See the included
7  * COPYING file for details.
8  *
9  * License: BSD-new
10  * ==============================================================================
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions are met:
13  * * Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  * * Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in the
17  * documentation and/or other materials provided with the distribution.
18  * * Neither the name of the <organization> nor the
19  * names of its contributors may be used to endorse or promote products
20  * derived from this software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
26  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
29  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
30  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32  * POSSIBILITY OF SUCH DAMAGE.
33  *
34  *
35  * License: GPLv2
36  * ==============================================================================
37  * This program is free software; you can redistribute it and/or modify
38  * it under the terms of the GNU General Public License as published by
39  * the Free Software Foundation; either version 2 of the License, or
40  * (at your option) any later version.
41  *
42  * This program is distributed in the hope that it will be useful,
43  * but WITHOUT ANY WARRANTY; without even the implied warranty of
44  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
45  * GNU General Public License for more details.
46  *
47  * You should have received a copy of the GNU General Public License
48  * along with this program; if not, write to the Free Software
49  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
50  *
51  *
52  * IMPORTANT NOTICE:
53  * ==============================================================================
54  * This source code is made available for free, as an open license, by Kvaser AB,
55  * for use with its applications. Kvaser AB does not accept any liability
56  * whatsoever for any third party patent or other immaterial property rights
57  * violations that may result from any usage of this source code, regardless of
58  * the combination of source code and various applications that it can be used
59  * in, or with.
60  *
61  * -----------------------------------------------------------------------------
62  */
63 
156 #ifndef _CANLIB_H_
157 #define _CANLIB_H_
158 
159 #include <stdlib.h>
160 
161 #include <stdint.h>
162 
163 #include "canstat.h"
164 
166 typedef int canHandle;
167 
168 # define canINVALID_HANDLE (-1)
169 
170 
172 
173 typedef struct canNotifyData {
174  void *tag;
176  union {
177  struct {
178  unsigned long time;
179  } busErr;
180  struct {
181  long id;
182  unsigned long time;
183  } rx;
184  struct {
185  long id;
186  unsigned long time;
187  } tx;
188  struct {
189  unsigned char busStatus;
190  unsigned char txErrorCounter;
191  unsigned char rxErrorCounter;
192  unsigned long time;
193  } status;
194  } info;
195 } canNotifyData;
196 
197 
207 // The canWANT_xxx names are also obsolete, use canOPEN_xxx instead for new developments.
208 #define canWANT_EXCLUSIVE 0x0008
209 #define canWANT_EXTENDED 0x0010
210 #define canWANT_VIRTUAL 0x0020
211 
225 #define canOPEN_EXCLUSIVE 0x0008
226 
238 #define canOPEN_REQUIRE_EXTENDED 0x0010
239 
247 # define canOPEN_ACCEPT_VIRTUAL 0x0020
248 
257 # define canOPEN_OVERRIDE_EXCLUSIVE 0x0040
258 
275 # define canOPEN_REQUIRE_INIT_ACCESS 0x0080
276 
288 # define canOPEN_NO_INIT_ACCESS 0x0100
289 
301 # define canOPEN_ACCEPT_LARGE_DLC 0x0200 // DLC can be greater than 8
302 
309 # define canOPEN_CAN_FD 0x0400
310 
324 # define canOPEN_CAN_FD_NONISO 0x0800
325 
326 
330 # define canOPEN_INTERNAL_L 0x1000
331 
343 #define canFILTER_ACCEPT 1
344 #define canFILTER_REJECT 2
345 
346 #define canFILTER_SET_CODE_STD 3
347 
348 #define canFILTER_SET_MASK_STD 4
349 
350 #define canFILTER_SET_CODE_EXT 5
351 
352 #define canFILTER_SET_MASK_EXT 6
353 
354 #define canFILTER_NULL_MASK 0L
355 
371 #define canDRIVER_NORMAL 4
372 
379 #define canDRIVER_SILENT 1
380 
384 #define canDRIVER_SELFRECEPTION 8
385 
389 #define canDRIVER_OFF 0
390 
413 #define canBITRATE_1M (-1)
414 
415 #define canBITRATE_500K (-2)
416 
417 #define canBITRATE_250K (-3)
418 
419 #define canBITRATE_125K (-4)
420 
421 #define canBITRATE_100K (-5)
422 
423 #define canBITRATE_62K (-6)
424 
425 #define canBITRATE_50K (-7)
426 
427 #define canBITRATE_83K (-8)
428 
429 #define canBITRATE_10K (-9)
430 
431 // CAN FD Bit Rates
435 #define canFD_BITRATE_500K_80P (-1000)
436 
439 #define canFD_BITRATE_1M_80P (-1001)
440 
443 #define canFD_BITRATE_2M_80P (-1002)
444 
447 #define canFD_BITRATE_4M_80P (-1003)
448 
451 #define canFD_BITRATE_8M_60P (-1004)
452 
455 #define canFD_BITRATE_8M_80P (-1005)
456 
459 #define canFD_BITRATE_8M_70P (-1006)
460 
462 #define BAUD_1M (-1)
463 
464 #define BAUD_500K (-2)
465 
466 #define BAUD_250K (-3)
467 
468 #define BAUD_125K (-4)
469 
470 #define BAUD_100K (-5)
471 
472 #define BAUD_62K (-6)
473 
474 #define BAUD_50K (-7)
475 
476 #define BAUD_83K (-8)
477 
480 //
481 // Define CANLIBAPI unless it's done already.
482 // (canlib.c provides its own definitions of CANLIBAPI, DLLIMPORT
483 // and DLLEXPORT before including this file.)
484 //
485 #ifndef CANLIBAPI
486 # define CANLIBAPI
487 #endif /* CANLIBAPI */
488 
489 
490 #ifdef __cplusplus
491 extern "C" {
492 #endif /* __cplusplus */
493 
515 void CANLIBAPI canInitializeLibrary (void);
516 
538 canStatus CANLIBAPI canEnumHardwareEx (int *channelCount);
539 
564 canStatus CANLIBAPI canClose (const CanHandle hnd);
565 
590 canStatus CANLIBAPI canBusOn (const CanHandle hnd);
591 
612 canStatus CANLIBAPI canBusOff (const CanHandle hnd);
613 
663 canStatus CANLIBAPI canSetBusParams (const CanHandle hnd,
664  long freq,
665  unsigned int tseg1,
666  unsigned int tseg2,
667  unsigned int sjw,
668  unsigned int noSamp,
669  unsigned int syncmode);
670 
700 typedef struct kvBusParamsTq {
701  int tq;
702  int phase1;
703  int phase2;
704  int sjw;
705  int prop;
706  int prescaler;
707 } kvBusParamsTq;
708 
734  canStatus CANLIBAPI canSetBusParamsTq(const CanHandle hnd,
735  const kvBusParamsTq nominal);
736 
770 canStatus CANLIBAPI canSetBusParamsFd (const CanHandle hnd,
771  long freq_brs,
772  unsigned int tseg1_brs,
773  unsigned int tseg2_brs,
774  unsigned int sjw_brs);
775 
802 canStatus CANLIBAPI canSetBusParamsFdTq(const CanHandle hnd,
803  const kvBusParamsTq arbitration,
804  const kvBusParamsTq data);
805 
806 
838 canStatus CANLIBAPI canGetBusParams (const CanHandle hnd,
839  long *freq,
840  unsigned int *tseg1,
841  unsigned int *tseg2,
842  unsigned int *sjw,
843  unsigned int *noSamp,
844  unsigned int *syncmode);
845 
865 canStatus CANLIBAPI canGetBusParamsTq(const CanHandle hnd,
866  kvBusParamsTq *nominal);
867 
890 canStatus CANLIBAPI canGetBusParamsFd(const CanHandle hnd,
891  long *freq_brs,
892  unsigned int *tseg1_brs,
893  unsigned int *tseg2_brs,
894  unsigned int *sjw_brs);
895 
916 canStatus CANLIBAPI canGetBusParamsFdTq(const CanHandle hnd,
917  kvBusParamsTq *nominal,
918  kvBusParamsTq *data);
919 
944 canStatus CANLIBAPI canSetBusOutputControl (const CanHandle hnd,
945  const unsigned int drivertype);
946 
981 canStatus CANLIBAPI canGetBusOutputControl (const CanHandle hnd,
982  unsigned int *drivertype);
983 
1026 canStatus CANLIBAPI canAccept (const CanHandle hnd,
1027  const long envelope,
1028  const unsigned int flag);
1029 
1053 canStatus CANLIBAPI canReadStatus (const CanHandle hnd,
1054  unsigned long *const flags);
1055 
1092 canStatus CANLIBAPI canReadErrorCounters (const CanHandle hnd,
1093  unsigned int *txErr,
1094  unsigned int *rxErr,
1095  unsigned int *ovErr);
1096 
1138 canStatus CANLIBAPI canWrite (const CanHandle hnd,
1139  long id,
1140  void *msg,
1141  unsigned int dlc,
1142  unsigned int flag);
1143 
1171 canStatus CANLIBAPI canWriteSync (const CanHandle hnd, unsigned long timeout);
1172 
1226 canStatus CANLIBAPI canRead (const CanHandle hnd,
1227  long *id,
1228  void *msg,
1229  unsigned int *dlc,
1230  unsigned int *flag,
1231  unsigned long *time);
1284 canStatus CANLIBAPI canReadWait (const CanHandle hnd,
1285  long *id,
1286  void *msg,
1287  unsigned int *dlc,
1288  unsigned int *flag,
1289  unsigned long *time,
1290  unsigned long timeout);
1291 
1343 canStatus CANLIBAPI canReadSpecific (const CanHandle hnd, long id, void * msg,
1344  unsigned int * dlc, unsigned int * flag,
1345  unsigned long * time);
1346 
1377 canStatus CANLIBAPI canReadSync (const CanHandle hnd, unsigned long timeout);
1378 
1410 canStatus CANLIBAPI canReadSyncSpecific (const CanHandle hnd,
1411  long id,
1412  unsigned long timeout);
1413 
1459 canStatus CANLIBAPI canReadSpecificSkip (const CanHandle hnd,
1460  long id,
1461  void * msg,
1462  unsigned int * dlc,
1463  unsigned int * flag,
1464  unsigned long * time);
1465 
1486 canStatus CANLIBAPI canSetNotify (const CanHandle hnd,
1487  void (*callback)(canNotifyData *),
1488  unsigned int notifyFlags,
1489  void *tag);
1490 
1504 canStatus CANLIBAPI canGetRawHandle (const CanHandle hnd, void *pvFd);
1505 
1540 canStatus CANLIBAPI canTranslateBaud (long *const freq,
1541  unsigned int *const tseg1,
1542  unsigned int *const tseg2,
1543  unsigned int *const sjw,
1544  unsigned int *const nosamp,
1545  unsigned int *const syncMode);
1546 
1569 canStatus CANLIBAPI kvBitrateToBusParamsTq (const canHandle hnd,
1570  int freq,
1571  kvBusParamsTq *nominal);
1572 
1598 canStatus CANLIBAPI kvBitrateToBusParamsFdTq (const canHandle hnd,
1599  int freqA,
1600  int freqD,
1601  kvBusParamsTq *arbitration,
1602  kvBusParamsTq *data);
1603 
1626 canStatus CANLIBAPI canGetErrorText (canStatus err, char *buf, unsigned int bufsiz);
1627 
1657 unsigned short CANLIBAPI canGetVersion (void);
1658 
1687 canStatus CANLIBAPI canIoCtl (const CanHandle hnd,
1688  unsigned int func,
1689  void *buf,
1690  unsigned int buflen);
1691 
1692 
1698 canStatus CANLIBAPI canReadTimer (const CanHandle hnd, unsigned long *time);
1699 
1750 CanHandle CANLIBAPI canOpenChannel (int channel, int flags);
1751 
1772 canStatus CANLIBAPI canGetNumberOfChannels (int *channelCount);
1773 
1774 
1782 #define kvREMOTE_TYPE_NOT_REMOTE 0
1783 #define kvREMOTE_TYPE_WLAN 1
1784 #define kvREMOTE_TYPE_LAN 2
1785 
1794 #define kvLOGGER_TYPE_NOT_A_LOGGER 0
1795 #define kvLOGGER_TYPE_V1 1
1796 #define kvLOGGER_TYPE_V2 2
1797 
1830 canStatus CANLIBAPI canGetChannelData (int channel,
1831  int item,
1832  void *buffer,
1833  size_t bufsize);
1834 
1853 #define canCHANNELDATA_CHANNEL_CAP 1
1854 
1864 #define canCHANNELDATA_TRANS_CAP 2
1865 
1874 #define canCHANNELDATA_CHANNEL_FLAGS 3 // available, etc
1875 
1884 #define canCHANNELDATA_CARD_TYPE 4
1885 
1895 #define canCHANNELDATA_CARD_NUMBER 5
1896 
1904 #define canCHANNELDATA_CHAN_NO_ON_CARD 6
1905 
1915 #define canCHANNELDATA_CARD_SERIAL_NO 7
1916 
1926 #define canCHANNELDATA_TRANS_SERIAL_NO 8
1927 
1938 #define canCHANNELDATA_CARD_FIRMWARE_REV 9
1939 
1950 #define canCHANNELDATA_CARD_HARDWARE_REV 10
1951 
1961 #define canCHANNELDATA_CARD_UPC_NO 11
1962 
1973 #define canCHANNELDATA_TRANS_UPC_NO 12
1974 
1992 #define canCHANNELDATA_CHANNEL_NAME 13
1993 
2009 # define canCHANNELDATA_DLL_FILE_VERSION 14
2010 
2026 # define canCHANNELDATA_DLL_PRODUCT_VERSION 15
2027 
2043 # define canCHANNELDATA_DLL_FILETYPE 16
2044 
2053 # define canCHANNELDATA_TRANS_TYPE 17
2054 
2078 # define canCHANNELDATA_DEVICE_PHYSICAL_POSITION 18
2079 
2092 # define canCHANNELDATA_UI_NUMBER 19
2093 
2117 # define canCHANNELDATA_TIMESYNC_ENABLED 20
2118 
2133 # define canCHANNELDATA_DRIVER_FILE_VERSION 21
2134 
2149 # define canCHANNELDATA_DRIVER_PRODUCT_VERSION 22
2150 
2159 # define canCHANNELDATA_MFGNAME_UNICODE 23
2160 
2168 # define canCHANNELDATA_MFGNAME_ASCII 24
2169 
2178 # define canCHANNELDATA_DEVDESCR_UNICODE 25
2179 
2187 # define canCHANNELDATA_DEVDESCR_ASCII 26
2188 
2199 # define canCHANNELDATA_DRIVER_NAME 27
2200 
2213 # define canCHANNELDATA_CHANNEL_QUALITY 28
2214 
2223 # define canCHANNELDATA_ROUNDTRIP_TIME 29
2224 
2233 # define canCHANNELDATA_BUS_TYPE 30
2234 
2247 # define canCHANNELDATA_DEVNAME_ASCII 31
2248 
2259 # define canCHANNELDATA_TIME_SINCE_LAST_SEEN 32
2260 
2270 # define canCHANNELDATA_REMOTE_OPERATIONAL_MODE 33
2271 
2280 # define canCHANNELDATA_REMOTE_PROFILE_NAME 34
2281 
2290 # define canCHANNELDATA_REMOTE_HOST_NAME 35
2291 
2300 # define canCHANNELDATA_REMOTE_MAC 36
2301 
2310 # define canCHANNELDATA_MAX_BITRATE 37
2311 
2322 # define canCHANNELDATA_CHANNEL_CAP_MASK 38
2323 
2335 #define canCHANNELDATA_CUST_CHANNEL_NAME 39
2336 
2346 # define canCHANNELDATA_IS_REMOTE 40
2347 
2356 # define canCHANNELDATA_REMOTE_TYPE 41
2357 
2366 # define canCHANNELDATA_LOGGER_TYPE 42
2367 
2377 # define canCHANNELDATA_HW_STATUS 43
2378 
2388 # define canCHANNELDATA_FEATURE_EAN 44
2389 
2396 #define canCHANNELDATA_BUS_PARAM_LIMITS 45
2397 
2404 #define canCHANNELDATA_CLOCK_INFO 46
2405 
2426 #define canCHANNELDATA_CHANNEL_CAP_EX 47
2427 
2440 typedef struct kvClockInfo {
2441  int version;
2446 }kvClockInfo;
2447 
2462 typedef struct kvBusParamLimits {
2463  int version;
2469 
2480 #define canCHANNEL_IS_EXCLUSIVE 0x0001
2481 
2483 #define canCHANNEL_IS_OPEN 0x0002
2484 
2487 #define canCHANNEL_IS_CANFD 0x0004
2488 
2489 //#define canCHANNEL_IS_CANFD_NON_ISO 0x0008 Reserved for when needed
2490 
2493 #define canCHANNEL_IS_LIN 0x0010
2494 
2497 #define canCHANNEL_IS_LIN_MASTER 0x0020
2498 
2501 #define canCHANNEL_IS_LIN_SLAVE 0x0040
2502 
2503 
2522 #define canHWTYPE_NONE 0
2523 #define canHWTYPE_VIRTUAL 1
2524 #define canHWTYPE_LAPCAN 2
2525 #define canHWTYPE_CANPARI 3
2526 #define canHWTYPE_PCCAN 8
2527 #define canHWTYPE_PCICAN 9
2528 #define canHWTYPE_USBCAN 11
2529 #define canHWTYPE_PCICAN_II 40
2530 #define canHWTYPE_USBCAN_II 42
2531 #define canHWTYPE_SIMULATED 44
2532 #define canHWTYPE_ACQUISITOR 46
2533 #define canHWTYPE_LEAF 48
2534 #define canHWTYPE_PC104_PLUS 50
2535 #define canHWTYPE_PCICANX_II 52
2536 #define canHWTYPE_MEMORATOR_II 54
2537 #define canHWTYPE_MEMORATOR_PRO 54
2538 #define canHWTYPE_USBCAN_PRO 56
2539 #define canHWTYPE_IRIS 58
2540 #define canHWTYPE_BLACKBIRD 58
2541 #define canHWTYPE_MEMORATOR_LIGHT 60
2542 #define canHWTYPE_MINIHYDRA 62
2543 #define canHWTYPE_EAGLE 62
2544 #define canHWTYPE_BAGEL 64
2545 #define canHWTYPE_BLACKBIRD_V2 64
2546 #define canHWTYPE_MINIPCIE 66
2547 #define canHWTYPE_USBCAN_KLINE 68
2548 #define canHWTYPE_ETHERCAN 70
2549 #define canHWTYPE_USBCAN_LIGHT 72
2550 #define canHWTYPE_USBCAN_PRO2 74
2551 #define canHWTYPE_PCIE_V2 76
2552 #define canHWTYPE_MEMORATOR_PRO2 78
2553 #define canHWTYPE_LEAF2 80
2554 #define canHWTYPE_MEMORATOR_V2 82
2555 #define canHWTYPE_CANLINHYBRID 84
2556 #define canHWTYPE_DINRAIL 86
2557 #define canHWTYPE_U100 88
2558 
2559 
2568 #define canCHANNEL_CAP_EXTENDED_CAN 0x00000001L
2569 #define canCHANNEL_CAP_BUS_STATISTICS 0x00000002L
2570 #define canCHANNEL_CAP_ERROR_COUNTERS 0x00000004L
2571 #define canCHANNEL_CAP_RESERVED_2 0x00000008L
2572 #define canCHANNEL_CAP_GENERATE_ERROR 0x00000010L
2573 #define canCHANNEL_CAP_GENERATE_OVERLOAD 0x00000020L
2574 #define canCHANNEL_CAP_TXREQUEST 0x00000040L
2575 #define canCHANNEL_CAP_TXACKNOWLEDGE 0x00000080L
2576 #define canCHANNEL_CAP_VIRTUAL 0x00010000L
2577 #define canCHANNEL_CAP_SIMULATED 0x00020000L
2578 #define canCHANNEL_CAP_RESERVED_1 0x00040000L
2579 #define canCHANNEL_CAP_CAN_FD 0x00080000L
2580 #define canCHANNEL_CAP_CAN_FD_NONISO 0x00100000L
2581 #define canCHANNEL_CAP_SILENT_MODE 0x00200000L
2582 #define canCHANNEL_CAP_SINGLE_SHOT 0x00400000L
2583 #define canCHANNEL_CAP_LOGGER 0x00800000L
2584 #define canCHANNEL_CAP_REMOTE_ACCESS 0x01000000L
2585 #define canCHANNEL_CAP_SCRIPT 0x02000000L
2586 #define canCHANNEL_CAP_LIN_HYBRID 0x04000000L
2587 #define canCHANNEL_CAP_IO_API 0x08000000L
2588 #define canCHANNEL_CAP_CANTEGRITY 0x10000000L
2589 
2590 
2596 #define canCHANNEL_CAP_EX_BUSPARAMS_TQ 0x0000000000000001L
2597 
2598 
2610 #define canCHANNEL_OPMODE_NONE 1
2611 
2615 #define canCHANNEL_OPMODE_INFRASTRUCTURE 2
2616 
2620 #define canCHANNEL_OPMODE_RESERVED 3
2621 
2625 #define canCHANNEL_OPMODE_ADHOC 4
2626 
2636 #define canDRIVER_CAP_HIGHSPEED 0x00000001L
2637 
2663 #define canIOCTL_PREFER_EXT 1
2664 
2677 #define canIOCTL_PREFER_STD 2
2678 
2695 #define canIOCTL_CLEAR_ERROR_COUNTERS 5
2696 
2710 #define canIOCTL_SET_TIMER_SCALE 6
2711 
2731 #define canIOCTL_SET_TXACK 7
2732 
2745 #define canIOCTL_GET_RX_BUFFER_LEVEL 8
2746 
2759 #define canIOCTL_GET_TX_BUFFER_LEVEL 9
2760 
2770 #define canIOCTL_FLUSH_RX_BUFFER 10
2771 
2781 #define canIOCTL_FLUSH_TX_BUFFER 11
2782 
2791 #define canIOCTL_GET_TIMER_SCALE 12
2792 
2808 #define canIOCTL_SET_TXRQ 13
2809 
2810 
2817 #define canIOCTL_SET_BYPASS_MODE 15
2818 
2824 #define canIOCTL_SET_WAKEUP 16
2825 
2835 # define canIOCTL_GET_DRIVERHANDLE 17
2836 
2842 # define canIOCTL_MAP_RXQUEUE 18
2843 
2849 # define canIOCTL_GET_WAKEUP 19
2850 
2862 # define canIOCTL_SET_REPORT_ACCESS_ERRORS 20
2863 
2871 # define canIOCTL_GET_REPORT_ACCESS_ERRORS 21
2872 
2882 # define canIOCTL_CONNECT_TO_VIRTUAL_BUS 22
2883 
2893 # define canIOCTL_DISCONNECT_FROM_VIRTUAL_BUS 23
2894 
2904 # define canIOCTL_SET_USER_IOPORT 24
2905 
2916 # define canIOCTL_GET_USER_IOPORT 25
2917 
2923 # define canIOCTL_SET_BUFFER_WRAPAROUND_MODE 26
2924 
2941 # define canIOCTL_SET_RX_QUEUE_SIZE 27
2942 
2948 # define canIOCTL_SET_USB_THROTTLE 28
2949 
2955 # define canIOCTL_GET_USB_THROTTLE 29
2956 
2971 # define canIOCTL_SET_BUSON_TIME_AUTO_RESET 30
2972 
2984 # define canIOCTL_GET_TXACK 31
2985 
3000 # define canIOCTL_SET_LOCAL_TXECHO 32
3001 
3017 # define canIOCTL_SET_ERROR_FRAMES_REPORTING 33
3018 
3032 # define canIOCTL_GET_CHANNEL_QUALITY 34
3033 
3045 # define canIOCTL_GET_ROUNDTRIP_TIME 35
3046 
3055 # define canIOCTL_GET_BUS_TYPE 36
3056 
3069 # define canIOCTL_GET_DEVNAME_ASCII 37
3070 
3082 # define canIOCTL_GET_TIME_SINCE_LAST_SEEN 38
3083 
3097 # define canIOCTL_GET_TREF_LIST 39
3098 
3120 # define canIOCTL_TX_INTERVAL 40
3121 
3133 # define canIOCTL_SET_BRLIMIT 43
3134 
3140 # define canIOCTL_SET_USB_THROTTLE_SCALED 41
3141 
3156 # define canIOCTL_SET_THROTTLE_SCALED 41
3157 
3163 # define canIOCTL_GET_USB_THROTTLE_SCALED 42
3164 
3179 # define canIOCTL_GET_THROTTLE_SCALED 42
3180 
3188 # define canIOCTL_RESET_OVERRUN_COUNT 44
3189 
3198 # define canIOCTL_LIN_MODE 45
3199 
3202 typedef struct {
3203  unsigned int portNo;
3204  unsigned int portValue;
3206 
3207 
3248 canStatus CANLIBAPI canSetBusParamsC200 (const CanHandle hnd, unsigned char btr0, unsigned char btr1);
3249 
3250 
3251 
3287 canStatus CANLIBAPI canSetDriverMode (const CanHandle hnd, int lineMode, int resNet);
3288 
3325 canStatus CANLIBAPI canGetDriverMode (const CanHandle hnd, int *lineMode, int *resNet);
3326 
3346 #define canVERSION_CANLIB32_VERSION 0
3347 
3358 #define canVERSION_CANLIB32_PRODVER 1
3359 
3371 #define canVERSION_CANLIB32_PRODVER32 2
3372 
3383 #define canVERSION_CANLIB32_BETA 3
3384 
3404 unsigned int CANLIBAPI canGetVersionEx (unsigned int itemCode);
3405 
3406 
3426 canStatus CANLIBAPI canObjBufFreeAll (const CanHandle hnd);
3427 
3448 canStatus CANLIBAPI canObjBufAllocate (const CanHandle hnd, int type);
3449 
3458 #define canOBJBUF_TYPE_AUTO_RESPONSE 0x01
3459 #define canOBJBUF_TYPE_PERIODIC_TX 0x02
3460 
3482 canStatus CANLIBAPI canObjBufFree (const CanHandle hnd, int idx);
3483 
3484 // Writes CAN data to the object buffer with the specified index.
3485 
3511 canStatus CANLIBAPI canObjBufWrite (const CanHandle hnd,
3512  int idx,
3513  int id,
3514  void* msg,
3515  unsigned int dlc,
3516  unsigned int flags);
3517 
3543 canStatus CANLIBAPI canObjBufSetFilter (const CanHandle hnd,
3544  int idx,
3545  unsigned int code,
3546  unsigned int mask);
3547 
3568 canStatus CANLIBAPI canObjBufSetFlags (const CanHandle hnd,
3569  int idx,
3570  unsigned int flags);
3571 
3589 # define canOBJBUF_AUTO_RESPONSE_RTR_ONLY 0x01
3590 
3612 canStatus CANLIBAPI canObjBufSetPeriod (const CanHandle hnd,
3613  int idx,
3614  unsigned int period);
3615 
3636 canStatus CANLIBAPI canObjBufSetMsgCount (const CanHandle hnd,
3637  int idx,
3638  unsigned int count);
3639 
3659 canStatus CANLIBAPI canObjBufEnable (const CanHandle hnd, int idx);
3660 
3680 canStatus CANLIBAPI canObjBufDisable (const CanHandle hnd, int idx);
3681 
3705 canStatus CANLIBAPI canObjBufSendBurst (const CanHandle hnd,
3706  int idx,
3707  unsigned int burstlen);
3708 
3709 
3732 canStatus CANLIBAPI canResetBus (const CanHandle hnd);
3733 
3774 canStatus CANLIBAPI canWriteWait (const CanHandle hnd,
3775  long id,
3776  void *msg,
3777  unsigned int dlc,
3778  unsigned int flag,
3779  unsigned long timeout);
3780 
3781 
3807 canStatus CANLIBAPI canUnloadLibrary (void);
3808 
3870 canStatus CANLIBAPI canSetAcceptanceFilter (const CanHandle hnd,
3871  unsigned int code,
3872  unsigned int mask,
3873  int is_extended);
3897 canStatus CANLIBAPI canFlushReceiveQueue (const CanHandle hnd);
3898 
3923 canStatus CANLIBAPI canFlushTransmitQueue (const CanHandle hnd);
3924 
3925 
3934 #define kvLED_ACTION_ALL_LEDS_ON 0
3935 #define kvLED_ACTION_ALL_LEDS_OFF 1
3936 #define kvLED_ACTION_LED_0_ON 2
3937 #define kvLED_ACTION_LED_0_OFF 3
3938 #define kvLED_ACTION_LED_1_ON 4
3939 #define kvLED_ACTION_LED_1_OFF 5
3940 #define kvLED_ACTION_LED_2_ON 6
3941 #define kvLED_ACTION_LED_2_OFF 7
3942 #define kvLED_ACTION_LED_3_ON 8
3943 #define kvLED_ACTION_LED_3_OFF 9
3944 #define kvLED_ACTION_LED_4_ON 10
3945 #define kvLED_ACTION_LED_4_OFF 11
3946 #define kvLED_ACTION_LED_5_ON 12
3947 #define kvLED_ACTION_LED_5_OFF 13
3948 #define kvLED_ACTION_LED_6_ON 14
3949 #define kvLED_ACTION_LED_6_OFF 15
3950 #define kvLED_ACTION_LED_7_ON 16
3951 #define kvLED_ACTION_LED_7_OFF 17
3952 #define kvLED_ACTION_LED_8_ON 18
3953 #define kvLED_ACTION_LED_8_OFF 19
3954 #define kvLED_ACTION_LED_9_ON 20
3955 #define kvLED_ACTION_LED_9_OFF 21
3956 #define kvLED_ACTION_LED_10_ON 22
3957 #define kvLED_ACTION_LED_10_OFF 23
3958 #define kvLED_ACTION_LED_11_ON 24
3959 #define kvLED_ACTION_LED_11_OFF 25
3960 
3961 
3984 canStatus CANLIBAPI kvFlashLeds (const CanHandle hnd, int action, int timeout);
3985 
4005 canStatus CANLIBAPI canRequestChipStatus (const CanHandle hnd);
4006 
4033 canStatus CANLIBAPI canRequestBusStatistics (const CanHandle hnd);
4034 
4040 typedef struct canBusStatistics_s {
4041  unsigned long stdData;
4042  unsigned long stdRemote;
4043  unsigned long extData;
4044  unsigned long extRemote;
4045  unsigned long errFrame;
4046 
4051  unsigned long busLoad;
4052  unsigned long overruns;
4054 
4077 canStatus CANLIBAPI canGetBusStatistics (const CanHandle hnd,
4078  canBusStatistics *stat,
4079  size_t bufsiz);
4080 
4081 
4102 canStatus CANLIBAPI kvAnnounceIdentityEx (const CanHandle hnd,
4103  int type,
4104  void *buf,
4105  size_t bufsiz);
4106 
4128 canStatus CANLIBAPI canGetHandleData (const CanHandle hnd,
4129  int item,
4130  void *buffer,
4131  size_t bufsize);
4132 
4134 typedef void *kvTimeDomain;
4135 
4138 
4143 typedef struct kvTimeDomainData_s {
4149 
4178 kvStatus CANLIBAPI kvTimeDomainCreate (kvTimeDomain *domain);
4179 
4202 kvStatus CANLIBAPI kvTimeDomainDelete (kvTimeDomain domain);
4203 
4229 kvStatus CANLIBAPI kvTimeDomainResetTime (kvTimeDomain domain);
4230 
4255 kvStatus CANLIBAPI kvTimeDomainGetData (kvTimeDomain domain,
4256  kvTimeDomainData *data,
4257  size_t bufsiz);
4258 
4281 kvStatus CANLIBAPI kvTimeDomainAddHandle(kvTimeDomain domain,
4282  const CanHandle hnd);
4283 
4305 kvStatus CANLIBAPI kvTimeDomainRemoveHandle (kvTimeDomain domain,
4306  const CanHandle hnd);
4307 
4325 typedef void (CANLIBAPI *kvCallback_t) (CanHandle hnd, void* context, unsigned int notifyEvent);
4359 kvStatus CANLIBAPI kvSetNotifyCallback (const CanHandle hnd,
4360  kvCallback_t callback,
4361  void* context,
4362  unsigned int notifyFlags);
4363 
4377 #define kvBUSTYPE_NONE 0
4378 
4383 #define kvBUSTYPE_PCI 1
4384 
4389 #define kvBUSTYPE_PCMCIA 2
4390 
4395 #define kvBUSTYPE_USB 3
4396 
4401 #define kvBUSTYPE_WLAN 4
4402 
4407 #define kvBUSTYPE_PCI_EXPRESS 5
4408 
4413 #define kvBUSTYPE_ISA 6
4414 
4419 #define kvBUSTYPE_VIRTUAL 7
4420 
4425 #define kvBUSTYPE_PC104_PLUS 8
4426 
4431 #define kvBUSTYPE_LAN 9
4432 
4448 #define kvBUSTYPE_GROUP_VIRTUAL 1
4449 
4454 #define kvBUSTYPE_GROUP_LOCAL 2
4455 
4460 #define kvBUSTYPE_GROUP_REMOTE 3
4461 
4465 #define kvBUSTYPE_GROUP_INTERNAL 4
4466 
4520 kvStatus CANLIBAPI kvGetSupportedInterfaceInfo (int index,
4521  char *hwName,
4522  size_t nameLen,
4523  int *hwType,
4524  int *hwBusType);
4525 
4550 kvStatus CANLIBAPI kvReadDeviceCustomerData (const CanHandle hnd,
4551  int userNumber,
4552  int itemNumber,
4553  void *data,
4554  size_t bufsiz);
4555 
4569 #define kvENVVAR_TYPE_INT 1
4570 
4576 #define kvENVVAR_TYPE_FLOAT 2
4577 
4583 #define kvENVVAR_TYPE_STRING 3
4584 
4600 #define kvEVENT_TYPE_KEY 1
4601 
4609  typedef int64_t kvEnvHandle;
4610 
4630 kvStatus CANLIBAPI kvScriptStart (const CanHandle hnd, int slotNo);
4631 
4638 #define kvSCRIPT_STOP_NORMAL 0
4639 #define kvSCRIPT_STOP_FORCED -9
4663 kvStatus CANLIBAPI kvScriptStop (const CanHandle hnd, int slotNo, int mode);
4664 
4684 kvStatus CANLIBAPI kvScriptUnload (const CanHandle hnd, int slotNo);
4685 
4710 kvStatus CANLIBAPI kvScriptSendEvent (const CanHandle hnd,
4711  int slotNo,
4712  int eventType,
4713  int eventNo,
4714  unsigned int data);
4715 
4740 kvEnvHandle CANLIBAPI kvScriptEnvvarOpen (const CanHandle hnd,
4741  const char* envvarName,
4742  int *envvarType,
4743  int *envvarSize); // returns scriptHandle
4744 
4762 kvStatus CANLIBAPI kvScriptEnvvarClose (kvEnvHandle eHnd);
4763 
4784 kvStatus CANLIBAPI kvScriptEnvvarSetInt (kvEnvHandle eHnd, int val);
4785 
4807 kvStatus CANLIBAPI kvScriptEnvvarGetInt (kvEnvHandle eHnd, int *val);
4808 
4831 kvStatus CANLIBAPI kvScriptEnvvarSetFloat (kvEnvHandle eHnd, float val);
4832 
4856 kvStatus CANLIBAPI kvScriptEnvvarGetFloat (kvEnvHandle eHnd, float *val);
4857 
4884 kvStatus CANLIBAPI kvScriptEnvvarSetData (kvEnvHandle eHnd,
4885  const void *buf,
4886  int start_index,
4887  int data_len);
4888 
4914 kvStatus CANLIBAPI kvScriptEnvvarGetData (kvEnvHandle eHnd,
4915  void *buf,
4916  int start_index,
4917  int data_len);
4918 
4942 kvStatus CANLIBAPI kvScriptLoadFileOnDevice (const CanHandle hnd,
4943  int slotNo,
4944  char *localFile);
4945 
4974 kvStatus CANLIBAPI kvScriptLoadFile (const CanHandle hnd,
4975  int slotNo,
4976  char *filePathOnPC);
4977 
4978 
4992 #define kvSCRIPT_REQUEST_TEXT_UNSUBSCRIBE 1
4993 
4997 #define kvSCRIPT_REQUEST_TEXT_SUBSCRIBE 2
4998 
5002 #define kvSCRIPT_REQUEST_TEXT_ALL_SLOTS 255
5003 
5027 kvStatus CANLIBAPI kvScriptRequestText(const CanHandle hnd,
5028  unsigned int slot,
5029  unsigned int request);
5030 
5031 
5032 
5055 kvStatus CANLIBAPI kvScriptGetText(const CanHandle hnd,
5056  int *slot,
5057  unsigned long *time,
5058  unsigned int *flags,
5059  char *buf,
5060  size_t bufsize);
5061 
5068 #define kvSCRIPT_STATUS_LOADED 1
5069 #define kvSCRIPT_STATUS_RUNNING 2
5090 kvStatus CANLIBAPI kvScriptStatus(const CanHandle hnd,
5091  int slot,
5092  unsigned int *status);
5093 
5094 
5113 kvStatus CANLIBAPI kvScriptGetMaxEnvvarSize(int hnd, int *envvarSize);
5114 
5145 kvStatus CANLIBAPI kvScriptTxeGetData(const char *filePathOnPC,
5146  int item,
5147  void *buffer,
5148  unsigned int *bufsize);
5149 
5175 #define canTXEDATA_FILE_VERSION 1
5176 
5192 #define canTXEDATA_COMPILER_VERSION 2
5193 
5212 #define canTXEDATA_DATE 3
5213 
5224 #define canTXEDATA_DESCRIPTION 4
5225 
5239 #define canTXEDATA_SOURCE 5
5240 
5250 #define canTXEDATA_SIZE_OF_CODE 6
5251 
5261 #define canTXEDATA_IS_ENCRYPTED 7
5262 
5263 
5290 kvStatus CANLIBAPI kvFileCopyToDevice (const CanHandle hnd,
5291  char *hostFileName,
5292  char *deviceFileName);
5293 
5316 kvStatus CANLIBAPI kvFileCopyFromDevice (const CanHandle hnd,
5317  char *deviceFileName,
5318  char *hostFileName);
5319 
5341 kvStatus CANLIBAPI kvFileDelete (const CanHandle hnd, char *deviceFileName);
5342 
5365 kvStatus CANLIBAPI kvFileGetName (const CanHandle hnd,
5366  int fileNo,
5367  char *name,
5368  int namelen);
5369 
5389 kvStatus CANLIBAPI kvFileGetCount (const CanHandle hnd, int *count);
5390 
5413 kvStatus CANLIBAPI kvFileGetSystemData (const CanHandle hnd,
5414  int itemCode,
5415  int *result);
5416 
5435 kvStatus CANLIBAPI kvFileDiskFormat(const CanHandle hnd);
5436 
5454 #define kvDEVICE_MODE_INTERFACE 0x00
5455 
5460 #define kvDEVICE_MODE_LOGGER 0x01
5461 
5486 kvStatus CANLIBAPI kvDeviceSetMode (const CanHandle hnd, int mode);
5487 
5510 kvStatus CANLIBAPI kvDeviceGetMode (const CanHandle hnd, int *result);
5511 
5512 
5537 kvStatus CANLIBAPI kvReadTimer (const CanHandle hnd, unsigned int *time);
5561 kvStatus CANLIBAPI kvReadTimer64 (const CanHandle hnd, uint64_t *time);
5562 
5579 #define kvIO_INFO_GET_MODULE_TYPE 1
5580 
5586 #define kvIO_INFO_GET_DIRECTION 2
5587 
5593 #define kvIO_INFO_GET_PIN_TYPE 4
5594 
5600 #define kvIO_INFO_GET_NUMBER_OF_BITS 5
5601 
5609 #define kvIO_INFO_GET_RANGE_MIN 6
5610 
5618 #define kvIO_INFO_GET_RANGE_MAX 7
5619 
5627 #define kvIO_INFO_GET_DI_LOW_HIGH_FILTER 8
5628 
5636 #define kvIO_INFO_GET_DI_HIGH_LOW_FILTER 9
5637 
5645 #define kvIO_INFO_GET_AI_LP_FILTER_ORDER 10
5646 
5655 #define kvIO_INFO_GET_AI_HYSTERESIS 11
5656 
5662 #define kvIO_INFO_GET_MODULE_NUMBER 14
5663 
5669 #define kvIO_INFO_GET_SERIAL_NUMBER 15
5670 
5678 #define kvIO_INFO_GET_FW_VERSION 16
5679 
5700 #define kvIO_INFO_SET_DI_LOW_HIGH_FILTER 8
5701 
5709 #define kvIO_INFO_SET_DI_HIGH_LOW_FILTER 9
5710 
5718 #define kvIO_INFO_SET_AI_LP_FILTER_ORDER 10
5719 
5728 #define kvIO_INFO_SET_AI_HYSTERESIS 11
5729 
5746 #define kvIO_MODULE_TYPE_DIGITAL 1
5747 
5751 #define kvIO_MODULE_TYPE_ANALOG 2
5752 
5756 #define kvIO_MODULE_TYPE_RELAY 3
5757 
5761 #define kvIO_MODULE_TYPE_INTERNAL 4
5762 
5777 #define kvIO_PIN_TYPE_DIGITAL 1
5778 
5782 #define kvIO_PIN_TYPE_ANALOG 2
5783 
5787 #define kvIO_PIN_TYPE_RELAY 3
5788 
5803 #define kvIO_PIN_DIRECTION_IN 4
5804 
5808 #define kvIO_PIN_DIRECTION_OUT 8
5809 
5831 canStatus CANLIBAPI kvIoGetNumberOfPins (const CanHandle hnd, unsigned int *pinCount);
5832 
5849 canStatus CANLIBAPI kvIoConfirmConfig (const CanHandle hnd);
5850 
5870 canStatus CANLIBAPI kvIoPinGetInfo (const CanHandle hnd, unsigned int pin, int item, void *buffer, const unsigned int bufsize);
5871 
5891 canStatus CANLIBAPI kvIoPinSetInfo (const CanHandle hnd, unsigned int pin, int item, const void *buffer, const unsigned int bufsize);
5892 
5910 canStatus CANLIBAPI kvIoPinSetDigital (const CanHandle hnd, unsigned int pin, unsigned int value);
5911 
5931 canStatus CANLIBAPI kvIoPinGetDigital (const CanHandle hnd, unsigned int pin, unsigned int *value);
5932 
5954 canStatus CANLIBAPI kvIoPinGetOutputDigital (const CanHandle hnd, unsigned int pin, unsigned int *value);
5955 
5973 canStatus CANLIBAPI kvIoPinSetRelay (const CanHandle hnd, unsigned int pin, unsigned int value);
5974 
5994 canStatus CANLIBAPI kvIoPinGetOutputRelay (const CanHandle hnd, unsigned int pin, unsigned int *value);
5995 
6013 canStatus CANLIBAPI kvIoPinSetAnalog (const CanHandle hnd, unsigned int pin, float value);
6014 
6032 canStatus CANLIBAPI kvIoPinGetAnalog (const CanHandle hnd, unsigned int pin, float* value);
6033 
6053 canStatus CANLIBAPI kvIoPinGetOutputAnalog (const CanHandle hnd, unsigned int pin, float* value);
6054 
6060 typedef struct {
6061  int type;
6062  unsigned char DO1 : 1;
6063  unsigned char DO2 : 1;
6064  unsigned char DO3 : 1;
6065  unsigned char DO4 : 1;
6066  unsigned char DO5 : 1;
6067  unsigned char DO6 : 1;
6068  unsigned char DO7 : 1;
6069  unsigned char DO8 : 1;
6070  unsigned char DO9 : 1;
6071  unsigned char DO10: 1;
6072  unsigned char DO11: 1;
6073  unsigned char DO12: 1;
6074  unsigned char DO13: 1;
6075  unsigned char DO14: 1;
6076  unsigned char DO15: 1;
6077  unsigned char DO16: 1;
6078  unsigned char DI1 : 1;
6079  unsigned char DI2 : 1;
6080  unsigned char DI3 : 1;
6081  unsigned char DI4 : 1;
6082  unsigned char DI5 : 1;
6083  unsigned char DI6 : 1;
6084  unsigned char DI7 : 1;
6085  unsigned char DI8 : 1;
6086  unsigned char DI9 : 1;
6087  unsigned char DI10: 1;
6088  unsigned char DI11: 1;
6089  unsigned char DI12: 1;
6090  unsigned char DI13: 1;
6091  unsigned char DI14: 1;
6092  unsigned char DI15: 1;
6093  unsigned char DI16: 1;
6095 
6096 
6102 typedef struct {
6103  int type;
6104  unsigned char DO: 1;
6105  unsigned char DI: 1;
6107 
6108 
6115 typedef struct {
6116  int type;
6117  unsigned char RO1 : 1;
6118  unsigned char RO2 : 1;
6119  unsigned char RO3 : 1;
6120  unsigned char RO4 : 1;
6121  unsigned char RO5 : 1;
6122  unsigned char RO6 : 1;
6123  unsigned char RO7 : 1;
6124  unsigned char RO8 : 1;
6125  unsigned char DI1 : 1;
6126  unsigned char DI2 : 1;
6127  unsigned char DI3 : 1;
6128  unsigned char DI4 : 1;
6129  unsigned char DI5 : 1;
6130  unsigned char DI6 : 1;
6131  unsigned char DI7 : 1;
6132  unsigned char DI8 : 1;
6133 } kvIoModuleRelay;
6134 
6141 typedef struct {
6142  int type;
6143  float AO1;
6144  float AO2;
6145  float AO3;
6146  float AO4;
6147  float AI1;
6148  float AI2;
6149  float AI3;
6150  float AI4;
6152 
6153 
6176 canStatus CANLIBAPI kvIoGetModulePins (const CanHandle hnd, unsigned int module, void *buffer, const unsigned int bufsize);
6177 
6178 
6202 canStatus CANLIBAPI kvIoSetModulePins (const CanHandle hnd, unsigned int module, const void *buffer, const unsigned int bufsize);
6203 
6204 
6205 #ifdef __cplusplus
6206 }
6207 #endif /* __cplusplus */
6208 
6209 #include "obsolete.h"
6210 
6211 #endif /* _CANLIB_H_ */
struct kvClockInfo kvClockInfo
Definitions which are retained for compatibility.
unsigned char DI10
Definition: canlib.h:6087
kvStatus kvScriptEnvvarGetFloat(kvEnvHandle eHnd, float *val)
int phase1
Definition: canlib.h:702
unsigned long stdRemote
Number of received standard (11-bit identifiers) remote frames.
Definition: canlib.h:4042
unsigned char DI5
Definition: canlib.h:6082
canStatus canGetBusParamsFd(const CanHandle hnd, long *freq_brs, unsigned int *tseg1_brs, unsigned int *tseg2_brs, unsigned int *sjw_brs)
canStatus canWriteSync(const CanHandle hnd, unsigned long timeout)
kvStatus kvFileGetSystemData(const CanHandle hnd, int itemCode, int *result)
unsigned char busStatus
Definition: canlib.h:189
unsigned char DI12
Definition: canlib.h:6089
unsigned char RO3
Definition: canlib.h:6119
canStatus canGetBusOutputControl(const CanHandle hnd, unsigned int *drivertype)
kvStatus kvTimeDomainDelete(kvTimeDomain domain)
float AI2
Definition: canlib.h:6148
unsigned char DI8
Definition: canlib.h:6085
canStatus canGetDriverMode(const CanHandle hnd, int *lineMode, int *resNet)
struct canNotifyData::@0::@2 rx
unsigned char DO15
Definition: canlib.h:6076
void canInitializeLibrary(void)
canStatus canGetBusParamsFdTq(const CanHandle hnd, kvBusParamsTq *nominal, kvBusParamsTq *data)
canStatus kvIoPinGetInfo(const CanHandle hnd, unsigned int pin, int item, void *buffer, const unsigned int bufsize)
unsigned char DO8
Definition: canlib.h:6069
canStatus canReadStatus(const CanHandle hnd, unsigned long *const flags)
kvStatus kvTimeDomainCreate(kvTimeDomain *domain)
unsigned char DI9
Definition: canlib.h:6086
unsigned int portNo
Port number used in e.g. canIOCTL_SET_USER_IOPORT.
Definition: canlib.h:3203
int64_t kvEnvHandle
Definition: canlib.h:4609
int accuracy_ppm
Definition: canlib.h:2445
int nNonMagiSyncCards
number of non MagiSync™ interfaces
Definition: canlib.h:4146
unsigned char RO2
Definition: canlib.h:6118
canStatus kvIoGetNumberOfPins(const CanHandle hnd, unsigned int *pinCount)
canStatus canRequestBusStatistics(const CanHandle hnd)
kvStatus kvDeviceSetMode(const CanHandle hnd, int mode)
void * kvTimeDomain
Definition: canlib.h:4134
unsigned char DI7
Definition: canlib.h:6084
unsigned char DO
Definition: canlib.h:6104
unsigned char rxErrorCounter
Definition: canlib.h:191
unsigned char DO2
Definition: canlib.h:6063
unsigned long extRemote
Number of received extended (29-bit identifiers) remote frames.
Definition: canlib.h:4044
canStatus canClose(const CanHandle hnd)
unsigned char RO5
Definition: canlib.h:6121
int power_of_ten
Definition: canlib.h:2444
kvStatus kvFileGetCount(const CanHandle hnd, int *count)
struct canNotifyData canNotifyData
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)
int type
Definition: canlib.h:6142
canStatus canObjBufSetMsgCount(const CanHandle hnd, int idx, unsigned int count)
canStatus kvFlashLeds(const CanHandle hnd, int action, int timeout)
canStatus canSetAcceptanceFilter(const CanHandle hnd, unsigned int code, unsigned int mask, int is_extended)
unsigned char DI13
Definition: canlib.h:6090
int canHandle
Definition: canlib.h:166
unsigned char DI14
Definition: canlib.h:6091
unsigned char DI1
Definition: canlib.h:6125
canStatus canObjBufDisable(const CanHandle hnd, int idx)
void * tag
Definition: canlib.h:174
unsigned char RO4
Definition: canlib.h:6120
canStatus canGetBusParams(const CanHandle hnd, long *freq, unsigned int *tseg1, unsigned int *tseg2, unsigned int *sjw, unsigned int *noSamp, unsigned int *syncmode)
float AI3
Definition: canlib.h:6149
kvStatus kvScriptEnvvarGetInt(kvEnvHandle eHnd, int *val)
Definitions for the CANLIB API.
kvStatus kvScriptGetMaxEnvvarSize(int hnd, int *envvarSize)
Definition: canlib.h:6115
Definition: canlib.h:6060
canStatus kvIoPinSetInfo(const CanHandle hnd, unsigned int pin, int item, const void *buffer, const unsigned int bufsize)
kvStatus kvFileGetName(const CanHandle hnd, int fileNo, char *name, int namelen)
Definition: canlib.h:6141
canStatus canSetBusOutputControl(const CanHandle hnd, const unsigned int drivertype)
int tq
Definition: canlib.h:701
int type
Definition: canlib.h:6116
Definition: canlib.h:2462
int type
Definition: canlib.h:6061
int eventType
Definition: canlib.h:175
float AO3
Definition: canlib.h:6145
canStatus kvIoPinSetRelay(const CanHandle hnd, unsigned int pin, unsigned int value)
canStatus kvIoPinGetDigital(const CanHandle hnd, unsigned int pin, unsigned int *value)
int type
Definition: canlib.h:6103
kvStatus kvScriptEnvvarSetInt(kvEnvHandle eHnd, int val)
canStatus canObjBufSendBurst(const CanHandle hnd, int idx, unsigned int burstlen)
canStatus canGetRawHandle(const CanHandle hnd, void *pvFd)
canStatus kvIoPinGetOutputAnalog(const CanHandle hnd, unsigned int pin, float *value)
unsigned int canGetVersionEx(unsigned int itemCode)
unsigned char RO8
Definition: canlib.h:6124
canStatus canBusOn(const CanHandle hnd)
Definition: canlib.h:6102
long id
Definition: canlib.h:181
unsigned char DI
Definition: canlib.h:6105
int sjw
Definition: canlib.h:704
canStatus canWriteWait(const CanHandle hnd, long id, void *msg, unsigned int dlc, unsigned int flag, unsigned long timeout)
canStatus kvIoSetModulePins(const CanHandle hnd, unsigned int module, const void *buffer, const unsigned int bufsize)
kvStatus kvReadDeviceCustomerData(const CanHandle hnd, int userNumber, int itemNumber, void *data, size_t bufsiz)
canStatus canWrite(const CanHandle hnd, long id, void *msg, unsigned int dlc, unsigned int flag)
unsigned char DI3
Definition: canlib.h:6127
canStatus canObjBufWrite(const CanHandle hnd, int idx, int id, void *msg, unsigned int dlc, unsigned int flags)
kvEnvHandle kvScriptEnvvarOpen(const CanHandle hnd, const char *envvarName, int *envvarType, int *envvarSize)
Definition: canlib.h:173
struct kvTimeDomainData_s kvTimeDomainData
kvStatus kvScriptTxeGetData(const char *filePathOnPC, int item, void *buffer, unsigned int *bufsize)
struct kvBusParamsTq kvBusParamsTq
kvStatus kvScriptEnvvarClose(kvEnvHandle eHnd)
Definition: canlib.h:2440
canStatus canFlushReceiveQueue(const CanHandle hnd)
canStatus kvIoGetModulePins(const CanHandle hnd, unsigned int module, void *buffer, const unsigned int bufsize)
kvStatus kvScriptLoadFile(const CanHandle hnd, int slotNo, char *filePathOnPC)
float AI4
Definition: canlib.h:6150
unsigned int portValue
Port value used in e.g. canIOCTL_SET_USER_IOPORT.
Definition: canlib.h:3204
kvBusParamsTq arbitration_max
Definition: canlib.h:2465
unsigned short canGetVersion(void)
unsigned char DI1
Definition: canlib.h:6078
unsigned char DI2
Definition: canlib.h:6079
int phase2
Definition: canlib.h:703
unsigned long errFrame
Number of error frames.
Definition: canlib.h:4045
int prop
Definition: canlib.h:705
canStatus kvIoPinSetAnalog(const CanHandle hnd, unsigned int pin, float value)
canStatus canReadWait(const CanHandle hnd, long *id, void *msg, unsigned int *dlc, unsigned int *flag, unsigned long *time, unsigned long timeout)
canStatus canReadSyncSpecific(const CanHandle hnd, long id, unsigned long timeout)
float AO4
Definition: canlib.h:6146
canStatus canFlushTransmitQueue(const CanHandle hnd)
kvStatus kvReadTimer64(const CanHandle hnd, uint64_t *time)
canStatus kvBitrateToBusParamsTq(const canHandle hnd, int freq, kvBusParamsTq *nominal)
unsigned char DO10
Definition: canlib.h:6071
kvStatus kvTimeDomainResetTime(kvTimeDomain domain)
unsigned char DO3
Definition: canlib.h:6064
kvBusParamsTq data_min
Definition: canlib.h:2466
canStatus canAccept(const CanHandle hnd, const long envelope, const unsigned int flag)
CanHandle canOpenChannel(int channel, int flags)
kvStatus kvScriptEnvvarSetFloat(kvEnvHandle eHnd, float val)
unsigned long extData
Number of received extended (29-bit identifiers) data frames.
Definition: canlib.h:4043
float AO1
Definition: canlib.h:6143
Definition: canlib.h:700
kvStatus kvReadTimer(const CanHandle hnd, unsigned int *time)
canStatus canObjBufEnable(const CanHandle hnd, int idx)
int denominator
Definition: canlib.h:2443
kvStatus kvScriptRequestText(const CanHandle hnd, unsigned int slot, unsigned int request)
kvStatus kvSetNotifyCallback(const CanHandle hnd, kvCallback_t callback, void *context, unsigned int notifyFlags)
unsigned char DO16
Definition: canlib.h:6077
kvStatus kvScriptSendEvent(const CanHandle hnd, int slotNo, int eventType, int eventNo, unsigned int data)
canStatus kvBitrateToBusParamsFdTq(const canHandle hnd, int freqA, int freqD, kvBusParamsTq *arbitration, kvBusParamsTq *data)
kvStatus kvTimeDomainGetData(kvTimeDomain domain, kvTimeDomainData *data, size_t bufsiz)
kvStatus kvScriptStart(const CanHandle hnd, int slotNo)
kvStatus kvTimeDomainRemoveHandle(kvTimeDomain domain, const CanHandle hnd)
kvStatus kvFileCopyFromDevice(const CanHandle hnd, char *deviceFileName, char *hostFileName)
unsigned char DO4
Definition: canlib.h:6065
unsigned char DI8
Definition: canlib.h:6132
unsigned char DI6
Definition: canlib.h:6083
canStatus canSetNotify(const CanHandle hnd, void(*callback)(canNotifyData *), unsigned int notifyFlags, void *tag)
unsigned char txErrorCounter
Definition: canlib.h:190
canStatus kvIoPinGetAnalog(const CanHandle hnd, unsigned int pin, float *value)
unsigned char DO1
Definition: canlib.h:6062
canStatus canSetBusParamsFdTq(const CanHandle hnd, const kvBusParamsTq arbitration, const kvBusParamsTq data)
canStatus canObjBufSetFlags(const CanHandle hnd, int idx, unsigned int flags)
kvStatus kvFileDelete(const CanHandle hnd, char *deviceFileName)
unsigned char RO7
Definition: canlib.h:6123
unsigned char RO1
Definition: canlib.h:6117
unsigned char DI16
Definition: canlib.h:6093
kvBusParamsTq arbitration_min
Definition: canlib.h:2464
unsigned char DI5
Definition: canlib.h:6129
void(* kvCallback_t)(CanHandle hnd, void *context, unsigned int notifyEvent)
Definition: canlib.h:4325
int prescaler
Definition: canlib.h:706
canStatus canSetBusParamsC200(const CanHandle hnd, unsigned char btr0, unsigned char btr1)
int nMagiSyncGroups
number of MagiSync™ groups
Definition: canlib.h:4144
canStatus canReadSpecificSkip(const CanHandle hnd, long id, void *msg, unsigned int *dlc, unsigned int *flag, unsigned long *time)
kvStatus kvScriptGetText(const CanHandle hnd, int *slot, unsigned long *time, unsigned int *flags, char *buf, size_t bufsize)
struct canBusStatistics_s canBusStatistics
canStatus canSetBusParamsFd(const CanHandle hnd, long freq_brs, unsigned int tseg1_brs, unsigned int tseg2_brs, unsigned int sjw_brs)
canStatus
Definition: canstat.h:84
unsigned char DI11
Definition: canlib.h:6088
struct kvBusParamLimits kvBusParamLimits
kvStatus kvDeviceGetMode(const CanHandle hnd, int *result)
canStatus kvIoPinGetOutputDigital(const CanHandle hnd, unsigned int pin, unsigned int *value)
unsigned char RO6
Definition: canlib.h:6122
canStatus canReadErrorCounters(const CanHandle hnd, unsigned int *txErr, unsigned int *rxErr, unsigned int *ovErr)
canStatus kvIoConfirmConfig(const CanHandle hnd)
unsigned long stdData
Number of received standard (11-bit identifiers) data frames.
Definition: canlib.h:4041
canStatus canSetDriverMode(const CanHandle hnd, int lineMode, int resNet)
unsigned long overruns
The number of overruns detected by the hardware, firmware or driver.
Definition: canlib.h:4052
kvStatus kvTimeDomainAddHandle(kvTimeDomain domain, const CanHandle hnd)
kvStatus kvFileCopyToDevice(const CanHandle hnd, char *hostFileName, char *deviceFileName)
Definition: canlib.h:4143
unsigned char DI3
Definition: canlib.h:6080
canStatus canReadTimer(const CanHandle hnd, unsigned long *time)
unsigned char DO7
Definition: canlib.h:6068
canStatus kvIoPinSetDigital(const CanHandle hnd, unsigned int pin, unsigned int value)
unsigned char DI4
Definition: canlib.h:6081
canStatus canGetBusStatistics(const CanHandle hnd, canBusStatistics *stat, size_t bufsiz)
canStatus canBusOff(const CanHandle hnd)
canStatus canReadSpecific(const CanHandle hnd, long id, void *msg, unsigned int *dlc, unsigned int *flag, unsigned long *time)
float AI1
Definition: canlib.h:6147
canStatus canGetErrorText(canStatus err, char *buf, unsigned int bufsiz)
kvBusParamsTq data_max
Definition: canlib.h:2467
unsigned long busLoad
Definition: canlib.h:4051
unsigned char DI7
Definition: canlib.h:6131
unsigned char DO13
Definition: canlib.h:6074
canStatus canRequestChipStatus(const CanHandle hnd)
int version
Definition: canlib.h:2441
Definition: canlib.h:4040
canStatus canEnumHardwareEx(int *channelCount)
unsigned char DI4
Definition: canlib.h:6128
kvStatus kvScriptLoadFileOnDevice(const CanHandle hnd, int slotNo, char *localFile)
canStatus canUnloadLibrary(void)
canStatus kvIoPinGetOutputRelay(const CanHandle hnd, unsigned int pin, unsigned int *value)
struct canNotifyData::@0::@1 busErr
canHandle CanHandle
Definition: canlib.h:171
kvStatus kvScriptEnvvarSetData(kvEnvHandle eHnd, const void *buf, int start_index, int data_len)
canStatus kvStatus
Definition: canlib.h:4137
Definition: canlib.h:3202
canStatus kvAnnounceIdentityEx(const CanHandle hnd, int type, void *buf, size_t bufsiz)
union canNotifyData::@0 info
canStatus canResetBus(const CanHandle hnd)
canStatus canObjBufAllocate(const CanHandle hnd, int type)
unsigned char DI2
Definition: canlib.h:6126
int nNonMagiSyncedMembers
number of non MagiSync™ members
Definition: canlib.h:4147
canStatus canSetBusParamsTq(const CanHandle hnd, const kvBusParamsTq nominal)
unsigned char DO6
Definition: canlib.h:6067
canStatus canGetNumberOfChannels(int *channelCount)
canStatus canGetHandleData(const CanHandle hnd, int item, void *buffer, size_t bufsize)
kvStatus kvFileDiskFormat(const CanHandle hnd)
kvStatus kvScriptEnvvarGetData(kvEnvHandle eHnd, void *buf, int start_index, int data_len)
unsigned char DO9
Definition: canlib.h:6070
unsigned char DO14
Definition: canlib.h:6075
unsigned long time
Definition: canlib.h:178
canStatus canGetBusParamsTq(const CanHandle hnd, kvBusParamsTq *nominal)
unsigned char DO5
Definition: canlib.h:6066
canStatus canReadSync(const CanHandle hnd, unsigned long timeout)
float AO2
Definition: canlib.h:6144
int version
Definition: canlib.h:2463
int numerator
Definition: canlib.h:2442
kvStatus kvScriptUnload(const CanHandle hnd, int slotNo)
canStatus canObjBufSetPeriod(const CanHandle hnd, int idx, unsigned int period)
unsigned char DI6
Definition: canlib.h:6130
canStatus canObjBufFreeAll(const CanHandle hnd)
canStatus canIoCtl(const CanHandle hnd, unsigned int func, void *buf, unsigned int buflen)
unsigned char DI15
Definition: canlib.h:6092
struct canNotifyData::@0::@4 status
canStatus canSetBusParams(const CanHandle hnd, long freq, unsigned int tseg1, unsigned int tseg2, unsigned int sjw, unsigned int noSamp, unsigned int syncmode)
canStatus canObjBufSetFilter(const CanHandle hnd, int idx, unsigned int code, unsigned int mask)
struct canNotifyData::@0::@3 tx
unsigned char DO11
Definition: canlib.h:6072
kvStatus kvGetSupportedInterfaceInfo(int index, char *hwName, size_t nameLen, int *hwType, int *hwBusType)
canStatus canRead(const CanHandle hnd, long *id, void *msg, unsigned int *dlc, unsigned int *flag, unsigned long *time)
int nMagiSyncedMembers
number of MagiSync™ members
Definition: canlib.h:4145
unsigned char DO12
Definition: canlib.h:6073