kvaDbLib.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 
64 #ifndef KVADBLIB_H
65 #define KVADBLIB_H
66 
134 #define WINAPI
135 
136 #ifdef __cplusplus
137 extern "C" {
138 #endif
139 
140 #include <stdint.h>
141 #include <stdlib.h>
142 
153 typedef enum {
154  kvaDbOK = 0,
173 } KvaDbStatus;
182 #define KVADB_MESSAGE_STD 0x00000000
183 #define KVADB_MESSAGE_EXT 0x80000000
184 #define KVADB_MESSAGE_J1939 0x00000001
185 #define KVADB_MESSAGE_WAKEUP 0x00000002
186 
193 #define canMSG_STD 0x0002
194 #define canMSG_EXT 0x0004
195 #define canFDMSG_FDF 0x010000
196 #define canFDMSG_BRS 0x020000
197 
206 typedef enum {
218 typedef enum {
234 typedef enum {
250 typedef enum {
267 typedef enum {
292 typedef struct {
293  unsigned int maxMessageDlc;
294  unsigned int maxSignalLength;
296 
297 // Database flags
298 
305 #define KVADB_DATABASE_J1939 0x0001
306 
307 
311 typedef void* KvaDbHnd;
312 typedef void* KvaDbMessageHnd;
313 typedef void* KvaDbSignalHnd;
314 typedef void* KvaDbSignalGroupHnd;
315 typedef void* KvaDbNodeHnd;
316 typedef void* KvaDbAttributeHnd;
317 typedef void* KvaDbAttributeDefHnd;
318 typedef void* KvaDbEnumValueHnd;
319 typedef void* KvaDbScheduleTableHnd;
321 
328 #define KVADB_MUX_SIGNAL -2
329 #define KVADB_MUX_INDEPENDENT -1
330 
343 KvaDbStatus WINAPI kvaDbOpen(KvaDbHnd *dh);
344 
359 KvaDbStatus WINAPI kvaDbAddFile(KvaDbHnd dh, const char *filename);
360 
376 KvaDbStatus WINAPI kvaDbSetDummyFileName(KvaDbHnd dh, const char *filename);
377 
406 KvaDbStatus WINAPI kvaDbCreate(KvaDbHnd dh, const char *localName, const char *filename);
407 
425 KvaDbStatus WINAPI kvaDbGetDatabaseName(KvaDbHnd dh, char *buf, size_t buflen);
426 
440 KvaDbStatus WINAPI kvaDbGetVersion(int *major, int *minor, int *build);
441 
456 KvaDbStatus WINAPI kvaDbGetErrorText(KvaDbStatus error, char *buf, size_t buflen);
457 
472 KvaDbStatus WINAPI kvaDbGetLastParseError(char *buf, unsigned int *buflen);
473 
486 
503 KvaDbStatus WINAPI kvaDbWriteFile(KvaDbHnd dh, char* filename);
504 
521 KvaDbStatus WINAPI kvaDbReadFile(KvaDbHnd dh, char* filename);
522 
537 KvaDbStatus WINAPI kvaDbGetFlags(KvaDbHnd dh, unsigned int *flags);
538 
553 
567 
581 
596 
614  unsigned int id,
615  KvaDbMessageHnd *mh);
616 
635  unsigned int id,
636  unsigned int flags,
637  KvaDbMessageHnd *mh);
638 
656  unsigned int id,
657  KvaDbMessageHnd *mh);
658 
674  unsigned int id,
675  KvaDbMessageHnd *mh);
676 
691  const char *msg_name,
692  KvaDbMessageHnd *mh);
693 
709 KvaDbStatus WINAPI kvaDbGetMsgName(KvaDbMessageHnd mh, char *buf, size_t buflen);
710 
727 KvaDbStatus WINAPI kvaDbGetMsgQualifiedName(KvaDbMessageHnd mh, char *buf, size_t buflen);
728 
744 KvaDbStatus WINAPI kvaDbGetMsgComment(KvaDbMessageHnd mh, char *buf, size_t buflen);
745 
764  unsigned int *id,
765  unsigned int *flags);
766 
781 KvaDbStatus WINAPI kvaDbGetMsgIdEx(KvaDbMessageHnd mh, unsigned int *id);
782 
796 KvaDbStatus WINAPI kvaDbGetMsgFlags(KvaDbMessageHnd mh, unsigned int *flags);
797 
812 KvaDbStatus WINAPI kvaDbGetCanMsgFlags(KvaDbMessageHnd mh, unsigned int *flags);
813 
827 
841 
855 
869 
884 KvaDbStatus WINAPI kvaDbSetFlags(KvaDbHnd dh, unsigned int flags);
885 
894 
911 
925 
944 KvaDbStatus WINAPI kvaDbSetMsgId(KvaDbMessageHnd mh, unsigned int id, unsigned int flags);
945 
961 
975 KvaDbStatus WINAPI kvaDbSetMsgFlags(KvaDbMessageHnd mh, unsigned int flags);
976 
990 
1004 
1018 
1032 
1047 
1062 
1076 
1091 
1106 
1125 KvaDbStatus WINAPI kvaDbGetSignalValueFloat(KvaDbSignalHnd sh, double *f, void *data, size_t len);
1126 
1144 KvaDbStatus WINAPI kvaDbGetSignalValueInteger(KvaDbSignalHnd sh, int *f, void *data, size_t len);
1145 
1160 KvaDbStatus WINAPI kvaDbRetrieveSignalValuePhys(KvaDbSignalHnd sh, double *value, void *data, size_t len);
1161 
1176 KvaDbStatus WINAPI kvaDbRetrieveSignalValueRaw(KvaDbSignalHnd sh, int *value, void *data, size_t len);
1177 
1192 KvaDbStatus WINAPI kvaDbRetrieveSignalValueRaw64(KvaDbSignalHnd sh, uint64_t *value, void *data, size_t len);
1193 
1210 KvaDbStatus WINAPI kvaDbGetSignalValueEnum(KvaDbSignalHnd sh, char *buf, size_t buflen, void *data, size_t len);
1211 
1225 KvaDbStatus WINAPI kvaDbGetSignalValueLimits(KvaDbSignalHnd sh, double *minval, double *maxval);
1226 
1240 KvaDbStatus WINAPI kvaDbGetSignalValueScaling(KvaDbSignalHnd sh, double *factor, double *offset);
1241 
1258 KvaDbStatus WINAPI kvaDbGetSignalValueSize(KvaDbSignalHnd sh, int *startbit, int *length);
1259 
1275 KvaDbStatus WINAPI kvaDbGetSignalName(KvaDbSignalHnd sh, char *buf, size_t buflen);
1276 
1294 KvaDbStatus WINAPI kvaDbGetSignalQualifiedName(KvaDbSignalHnd sh, char *buf, size_t buflen);
1295 
1311 KvaDbStatus WINAPI kvaDbGetSignalComment(KvaDbSignalHnd sh, char *buf, size_t buflen);
1312 
1328 KvaDbStatus WINAPI kvaDbGetSignalUnit(KvaDbSignalHnd sh, char *buf, size_t buflen);
1329 
1343 
1357 
1374 
1388 
1402 
1417  double minval,
1418  double maxval);
1419 
1434  double factor,
1435  double offset);
1436 
1454  int startbit,
1455  int length);
1456 
1473 
1487 
1501 
1515 
1529 
1547 
1563 
1578 KvaDbStatus WINAPI kvaDbGetSignalGroupName(KvaDbSignalGroupHnd sgh, char *buf, size_t *len);
1579 
1590 
1606 
1608 
1622 
1636 
1648 KvaDbStatus WINAPI kvaDbGetNodeByName(KvaDbHnd dh, const char *node_name, KvaDbNodeHnd *nh);
1649 
1666 KvaDbStatus WINAPI kvaDbGetNodeAttributeIntByName(KvaDbNodeHnd nh, const char *attrName, int *val);
1667 
1679 
1691 
1707 
1721 KvaDbStatus WINAPI kvaDbGetNodeName(KvaDbNodeHnd nh, char *buf, size_t buflen);
1722 
1734 
1748 KvaDbStatus WINAPI kvaDbGetNodeComment(KvaDbNodeHnd nh, char *buf, size_t buflen);
1749 
1761 
1773 
1786 
1801 KvaDbStatus WINAPI kvaDbStoreSignalValuePhys(KvaDbSignalHnd sh, void *can_data, int len, double value);
1802 
1817 KvaDbStatus WINAPI kvaDbStoreSignalValueRaw(KvaDbSignalHnd sh, void *can_data, int len, int value);
1818 
1833 KvaDbStatus WINAPI kvaDbStoreSignalValueRaw64(KvaDbSignalHnd sh, void *can_data, int len, uint64_t value);
1834 
1848 
1861 
1875 
1889 
1903 
1920 
1933 KvaDbStatus WINAPI kvaDbGetAttributeDefinitionInt(KvaDbAttributeDefHnd adh, int *def, int *min, int *max);
1934 
1947 KvaDbStatus WINAPI kvaDbGetAttributeDefinitionFloat(KvaDbAttributeDefHnd adh, float *def, float *min, float *max);
1948 
1963 
1975 
1987 
2002 
2019 
2031 
2043 
2062 KvaDbStatus WINAPI kvaDbAddAttributeDefinitionEnum(KvaDbAttributeDefHnd adh, const char* eName, int eValue);
2063 
2076 
2092 
2108 KvaDbStatus WINAPI kvaDbGetAttributeDefinitionEnumNameByValue(KvaDbAttributeDefHnd adh, int eValue, char* buf, size_t *buflen);
2109 
2127 KvaDbStatus WINAPI kvaDbGetAttributeDefinitionEnumFirst(KvaDbAttributeDefHnd adh, int *eValue, char* eName, size_t *buflen);
2128 
2146 KvaDbStatus WINAPI kvaDbGetAttributeDefinitionEnumNext(KvaDbAttributeDefHnd adh, int *eValue, char* eName, size_t *buflen);
2147 
2159 
2173 
2186 KvaDbStatus WINAPI kvaDbSetAttributeDefinitionFloat(KvaDbAttributeDefHnd adh, float def, float min, float max);
2187 
2199 
2214 
2229 
2243 
2257 
2272 
2286 
2301 
2319 KvaDbStatus WINAPI kvaDbGetEnumValue(KvaDbEnumValueHnd eh, int *val, char *buf, size_t buflen);
2320 
2338 KvaDbStatus WINAPI kvaDbGetFirstEnumValuePair(KvaDbSignalHnd sh, KvaDbEnumValueHnd *eh, int *val, char *buf, size_t buflen);
2339 
2358 KvaDbStatus WINAPI kvaDbGetNextEnumValuePair(KvaDbSignalHnd sh, KvaDbEnumValueHnd *eh, int *val, char *buf, size_t buflen);
2359 
2373 KvaDbStatus WINAPI kvaDbAddEnumValue(KvaDbSignalHnd sh, int val, const char* name);
2374 
2388 
2402 
2417 
2431 
2445 
2458 
2471 
2485 
2498 
2512 
2525 
2538 
2555 
2569 
2585 KvaDbStatus WINAPI kvaDbGetAttributeName(KvaDbAttributeHnd ah, char *buf, size_t buflen);
2586 
2600 
2614 
2628 
2642 
2656 KvaDbStatus WINAPI kvaDbSetAttributeValueString(KvaDbAttributeHnd ah, const char *buf, int buflen);
2657 
2674 
2688 
2702 
2716 KvaDbStatus WINAPI kvaDbMsgDlcToBytes(KvaDbProtocolType prot, unsigned int dlc, unsigned int *numBytes);
2717 
2731 KvaDbStatus WINAPI kvaDbBytesToMsgDlc(KvaDbProtocolType prot, unsigned int numBytes, unsigned int *dlc);
2732 
2746 
2761 
2774  const char *schedule_table_name,
2775  KvaDbScheduleTableHnd *th);
2776 
2793 
2811 
2825 
2840 
2854 
2869  double *delay);
2870 
2893 #ifdef __cplusplus
2894 }
2895 #endif
2896 
2897 #endif //KVADBLIB_H
Unsigned integer.
Definition: kvaDbLib.h:221
KvaDbStatus kvaDbGetFirstEnumValuePair(KvaDbSignalHnd sh, KvaDbEnumValueHnd *eh, int *val, char *buf, size_t buflen)
KvaDbStatus kvaDbAddMsg(KvaDbHnd dh, KvaDbMessageHnd *mh)
KvaDbStatus kvaDbSetFlags(KvaDbHnd dh, unsigned int flags)
KvaDbStatus kvaDbSignalContainsReceiveNode(KvaDbSignalHnd sh, KvaDbNodeHnd nh)
KvaDbStatus kvaDbSetAttributeDefinitionString(KvaDbAttributeDefHnd adh, const char *buf)
No schedule table entry was found.
Definition: kvaDbLib.h:172
KvaDbStatus kvaDbSetAttributeDefinitionEnumDefault(KvaDbAttributeDefHnd adh, int dValue)
KvaDbStatus kvaDbGetMsgId(KvaDbMessageHnd mh, unsigned int *id, unsigned int *flags)
KvaDbStatus kvaDbGetVersion(int *major, int *minor, int *build)
KvaDbStatus kvaDbSetSignalRepresentationType(KvaDbSignalHnd sh, KvaDbSignalType t)
KvaDbStatus kvaDbSetSignalValueSize(KvaDbSignalHnd sh, int startbit, int length)
KvaDbStatus kvaDbGetAttributeValueString(KvaDbAttributeHnd ah, char *buf, size_t buflen)
KvaDbStatus kvaDbSetAttributeDefinitionName(KvaDbAttributeDefHnd adh, const char *adName)
KvaDbStatus kvaDbSetSignalValueScaling(KvaDbSignalHnd sh, double factor, double offset)
KvaDbStatus kvaDbGetMsgName(KvaDbMessageHnd mh, char *buf, size_t buflen)
KvaDbStatus kvaDbSetDummyFileName(KvaDbHnd dh, const char *filename)
KvaDbStatus kvaDbGetLastParseError(char *buf, unsigned int *buflen)
KvaDbStatus kvaDbSetMsgSendNode(KvaDbMessageHnd mh, KvaDbNodeHnd nh)
KvaDbStatus kvaDbGetFirstSignalAttribute(KvaDbSignalHnd sh, KvaDbAttributeHnd *ah)
KvaDbSignalEncoding
Definition: kvaDbLib.h:206
KvaDbStatus kvaDbGetMsgByName(KvaDbHnd dh, const char *msg_name, KvaDbMessageHnd *mh)
KvaDbStatus kvaDbGetNextSignal(KvaDbMessageHnd mh, KvaDbSignalHnd *sh)
KvaDbStatus kvaDbGetMsgByPGNEx(KvaDbHnd dh, unsigned int id, KvaDbMessageHnd *mh)
KvaDbAttributeOwner
Definition: kvaDbLib.h:250
KvaDbStatus kvaDbGetMsgMux(KvaDbMessageHnd mh, KvaDbSignalHnd *sh)
KvaDbStatus kvaDbWriteFile(KvaDbHnd dh, char *filename)
An internal error occured in the database handler.
Definition: kvaDbLib.h:162
KvaDbStatus kvaDbSetSignalMode(KvaDbSignalHnd sh, int mux)
AFDX protocol.
Definition: kvaDbLib.h:275
KvaDbStatus kvaDbGetSignalName(KvaDbSignalHnd sh, char *buf, size_t buflen)
KvaDbStatus kvaDbSetMsgFlags(KvaDbMessageHnd mh, unsigned int flags)
KvaDbStatus kvaDbGetFirstMsgAttribute(KvaDbMessageHnd mh, KvaDbAttributeHnd *ah)
KvaDbStatus kvaDbGetAttributeValueEnumeration(KvaDbAttributeHnd ah, int *val)
KvaDbStatus kvaDbStoreSignalValueRaw64(KvaDbSignalHnd sh, void *can_data, int len, uint64_t value)
KvaDbStatus kvaDbSetMsgName(KvaDbMessageHnd mh, char *buf)
KvaDbStatus kvaDbGetSignalQualifiedName(KvaDbSignalHnd sh, char *buf, size_t buflen)
KvaDbSignalType
Definition: kvaDbLib.h:218
void * KvaDbMessageHnd
Message handle.
Definition: kvaDbLib.h:312
KvaDbStatus kvaDbSetSignalValueLimits(KvaDbSignalHnd sh, double minval, double maxval)
Invalid representation.
Definition: kvaDbLib.h:219
KvaDbStatus
Definition: kvaDbLib.h:153
KvaDbStatus kvaDbGetSignalEncoding(KvaDbSignalHnd sh, KvaDbSignalEncoding *e)
KvaDbStatus kvaDbGetAttributeValueInt(KvaDbAttributeHnd ah, int *val)
Invalid owner.
Definition: kvaDbLib.h:251
KvaDbStatus kvaDbGetScheduleTableEntryDelay(KvaDbScheduleTableEntryHnd eh, double *delay)
KvaDbStatus kvaDbIndexSignalGroup(KvaDbSignalGroupHnd sgh, size_t i, KvaDbSignalHnd *out)
void * KvaDbScheduleTableHnd
Schedule table handle.
Definition: kvaDbLib.h:319
Intel.
Definition: kvaDbLib.h:207
An internal error occured in the library.
Definition: kvaDbLib.h:160
KvaDbStatus kvaDbStoreSignalValuePhys(KvaDbSignalHnd sh, void *can_data, int len, double value)
KvaDbStatus kvaDbGetMsgComment(KvaDbMessageHnd mh, char *buf, size_t buflen)
KvaDbStatus kvaDbGetSignalMessage(KvaDbSignalHnd sh, KvaDbMessageHnd *mh)
KvaDbStatus kvaDbSetAttributeValueFloat(KvaDbAttributeHnd ah, float val)
KvaDbStatus kvaDbGetFirstScheduleTable(KvaDbHnd dh, KvaDbScheduleTableHnd *th)
KvaDbStatus kvaDbStoreSignalValueRaw(KvaDbSignalHnd sh, void *can_data, int len, int value)
J1708 protocol.
Definition: kvaDbLib.h:276
Invalid attribute.
Definition: kvaDbLib.h:235
No database was found.
Definition: kvaDbLib.h:156
No signal group was found.
Definition: kvaDbLib.h:170
KvaDbStatus kvaDbClose(KvaDbHnd dh)
The supplied buffer is too small to hold the result.
Definition: kvaDbLib.h:168
KvaDbStatus kvaDbDeleteSignalAttribute(KvaDbSignalHnd sh, KvaDbAttributeHnd ah)
KvaDbStatus kvaDbGetSignalValueLimits(KvaDbSignalHnd sh, double *minval, double *maxval)
KvaDbStatus kvaDbGetAttributeDefinitionEnumeration(KvaDbAttributeDefHnd adh, int *def)
No signal was found.
Definition: kvaDbLib.h:159
Message owner.
Definition: kvaDbLib.h:253
KvaDbStatus kvaDbGetAttributeDefinitionOwner(KvaDbAttributeDefHnd adh, KvaDbAttributeOwner *ao)
An identical kvaDbLib structure already exists (and only one database at a time can be used)...
Definition: kvaDbLib.h:165
KvaDbStatus kvaDbAddEnumValue(KvaDbSignalHnd sh, int val, const char *name)
Wrong owner for attribute.
Definition: kvaDbLib.h:166
KvaDbStatus kvaDbGetAttributeByName(KvaDbHnd dh, const char *attrName, KvaDbAttributeHnd *ah)
KvaDbStatus kvaDbGetScheduleTableName(KvaDbScheduleTableHnd th, char *buf, size_t buflen)
FlexRay protocol.
Definition: kvaDbLib.h:272
KvaDbStatus kvaDbDeleteMsg(KvaDbHnd dh, KvaDbMessageHnd mh)
KvaDbStatus kvaDbGetFirstAttribute(KvaDbHnd dh, KvaDbAttributeHnd *nah)
KvaDbStatus kvaDbGetAttributeDefinitionName(KvaDbAttributeDefHnd adh, char *buf, size_t buflen)
KvaDbStatus kvaDbGetMsgAttributeByName(KvaDbMessageHnd mh, const char *attrName, KvaDbAttributeHnd *ah)
KvaDbStatus kvaDbGetMsgQualifiedName(KvaDbMessageHnd mh, char *buf, size_t buflen)
KvaDbStatus kvaDbGetMsgSendNode(KvaDbMessageHnd mh, KvaDbNodeHnd *nh)
Van protocol.
Definition: kvaDbLib.h:269
KvaDbStatus kvaDbGetFirstMsg(KvaDbHnd dh, KvaDbMessageHnd *mh)
Enumeration attribute.
Definition: kvaDbLib.h:238
KvaDbStatus kvaDbSetProtocol(KvaDbHnd dh, KvaDbProtocolType prot)
KvaDbStatus kvaDbRetrieveSignalValuePhys(KvaDbSignalHnd sh, double *value, void *data, size_t len)
unsigned int maxSignalLength
Definition: kvaDbLib.h:294
Environment owner.
Definition: kvaDbLib.h:256
KvaDbStatus kvaDbGetFirstNodeAttribute(KvaDbNodeHnd nh, KvaDbAttributeHnd *ah)
BEAN protocol.
Definition: kvaDbLib.h:273
void * KvaDbAttributeHnd
Attribute handle.
Definition: kvaDbLib.h:316
KvaDbStatus kvaDbSetAttributeDefinitionFloat(KvaDbAttributeDefHnd adh, float def, float min, float max)
KvaDbStatus kvaDbGetMsgByIdEx(KvaDbHnd dh, unsigned int id, unsigned int flags, KvaDbMessageHnd *mh)
KvaDbStatus kvaDbGetProtocol(KvaDbHnd dh, KvaDbProtocolType *prot)
KvaDbStatus kvaDbGetFirstAttributeDefinition(KvaDbHnd dh, KvaDbAttributeDefHnd *adh)
KvaDbStatus kvaDbGetAttributeDefinitionFloat(KvaDbAttributeDefHnd adh, float *def, float *min, float *max)
KvaDbStatus kvaDbSetAttributeValueString(KvaDbAttributeHnd ah, const char *buf, int buflen)
KvaDbStatus kvaDbGetAttributeType(KvaDbAttributeHnd ah, KvaDbAttributeType *at)
KvaDbProtocolType
Definition: kvaDbLib.h:267
KvaDbStatus kvaDbGetSignalPresentationType(KvaDbSignalHnd sh, KvaDbSignalType *t)
KvaDbStatus kvaDbAddFile(KvaDbHnd dh, const char *filename)
KvaDbStatus kvaDbDeleteAttribute(KvaDbHnd dh, KvaDbAttributeHnd ah)
KvaDbStatus kvaDbSetSignalName(KvaDbSignalHnd sh, char *buf)
KvaDbStatus kvaDbSetMsgId(KvaDbMessageHnd mh, unsigned int id, unsigned int flags)
KvaDbStatus kvaDbGetNextSignalGroup(KvaDbMessageHnd mh, KvaDbSignalGroupHnd *sgh)
void * KvaDbSignalHnd
Signal handle.
Definition: kvaDbLib.h:313
KvaDbStatus kvaDbAddAttributeDefinition(KvaDbHnd dh, KvaDbAttributeDefHnd *adh)
KvaDbStatus kvaDbGetCanMsgFlags(KvaDbMessageHnd mh, unsigned int *flags)
KvaDbStatus kvaDbGetAttributeName(KvaDbAttributeHnd ah, char *buf, size_t buflen)
No message was found.
Definition: kvaDbLib.h:158
Signed integer.
Definition: kvaDbLib.h:220
KvaDbStatus kvaDbGetNextEnumValuePair(KvaDbSignalHnd sh, KvaDbEnumValueHnd *eh, int *val, char *buf, size_t buflen)
KvaDbStatus kvaDbDeleteMsgAttribute(KvaDbMessageHnd mh, KvaDbAttributeHnd ah)
An item is in use.
Definition: kvaDbLib.h:167
Could not open the database file.
Definition: kvaDbLib.h:161
KvaDbStatus kvaDbGetSignalGroupName(KvaDbSignalGroupHnd sgh, char *buf, size_t *len)
void * KvaDbAttributeDefHnd
Attribute definition handle.
Definition: kvaDbLib.h:317
Lin protocol.
Definition: kvaDbLib.h:270
KvaDbStatus kvaDbGetMsgIdEx(KvaDbMessageHnd mh, unsigned int *id)
KvaDbStatus kvaDbGetNodeAttributeByName(KvaDbNodeHnd nh, const char *attrName, KvaDbAttributeHnd *ah)
Double, strictly 64 bit long.
Definition: kvaDbLib.h:223
KvaDbStatus kvaDbRemoveReceiveNodeFromSignal(KvaDbSignalHnd sh, KvaDbNodeHnd nh)
KvaDbStatus kvaDbSetNodeName(KvaDbNodeHnd nh, char *buf)
KvaDbStatus kvaDbBytesToMsgDlc(KvaDbProtocolType prot, unsigned int numBytes, unsigned int *dlc)
KvaDbStatus kvaDbAddAttributeDefinitionEnum(KvaDbAttributeDefHnd adh, const char *eName, int eValue)
#define WINAPI
Definition: kvaDbLib.h:134
KvaDbStatus kvaDbGetSignalMode(KvaDbSignalHnd sh, int *mux)
KvaDbStatus kvaDbGetScheduleTableByName(KvaDbHnd dh, const char *schedule_table_name, KvaDbScheduleTableHnd *th)
KvaDbStatus kvaDbGetSignalValueSize(KvaDbSignalHnd sh, int *startbit, int *length)
KvaDbStatus kvaDbGetMsgDlc(KvaDbMessageHnd mh, int *dlc)
KvaDbStatus kvaDbGetSignalRepresentationType(KvaDbSignalHnd sh, KvaDbSignalType *t)
KvaDbStatus kvaDbSetMsgIdEx(KvaDbMessageHnd mh, unsigned int id)
KvaDbStatus kvaDbGetScheduleTableEntryMsg(KvaDbScheduleTableEntryHnd eh, KvaDbMessageHnd *mh)
KvaDbStatus kvaDbGetSignalValueEnum(KvaDbSignalHnd sh, char *buf, size_t buflen, void *data, size_t len)
KvaDbStatus kvaDbGetFirstEnumValue(KvaDbSignalHnd sh, KvaDbEnumValueHnd *eh)
MOST protocol.
Definition: kvaDbLib.h:271
No attribute found.
Definition: kvaDbLib.h:164
KvaDbStatus kvaDbGetFirstNode(KvaDbHnd dh, KvaDbNodeHnd *nh)
KvaDbStatus kvaDbGetSignalComment(KvaDbSignalHnd sh, char *buf, size_t buflen)
KvaDbStatus kvaDbAddNodeAttribute(KvaDbNodeHnd nh, KvaDbAttributeDefHnd adh, KvaDbAttributeHnd *ah)
KvaDbStatus kvaDbGetErrorText(KvaDbStatus error, char *buf, size_t buflen)
Unknown or not specified protocol.
Definition: kvaDbLib.h:278
KvaDbStatus kvaDbSetAttributeValueInt(KvaDbAttributeHnd ah, int val)
KvaDbStatus kvaDbGetNodeComment(KvaDbNodeHnd nh, char *buf, size_t buflen)
KvaDbStatus kvaDbGetEnumValue(KvaDbEnumValueHnd eh, int *val, char *buf, size_t buflen)
KvaDbStatus kvaDbGetAttributeDefinitionInt(KvaDbAttributeDefHnd adh, int *def, int *min, int *max)
KvaDbStatus kvaDbGetFirstScheduleTableEntry(KvaDbScheduleTableHnd th, KvaDbScheduleTableEntryHnd *eh)
KvaDbStatus kvaDbGetScheduleTableQualifiedName(KvaDbScheduleTableHnd th, char *buf, size_t buflen)
Could not parse the database file.
Definition: kvaDbLib.h:169
KvaDbStatus kvaDbDeleteNodeAttribute(KvaDbNodeHnd nh, KvaDbAttributeHnd ah)
unsigned int maxMessageDlc
Definition: kvaDbLib.h:293
KvaDbStatus kvaDbGetAttributeDefinitionEnumFirst(KvaDbAttributeDefHnd adh, int *eValue, char *eName, size_t *buflen)
KvaDbStatus kvaDbGetAttributeDefinitionType(KvaDbAttributeDefHnd adh, KvaDbAttributeType *at)
Ethernet protocol.
Definition: kvaDbLib.h:274
KvaDbStatus kvaDbSetSignalUnit(KvaDbSignalHnd sh, char *buf)
void * KvaDbScheduleTableEntryHnd
Schedule table entry handle.
Definition: kvaDbLib.h:320
String attribute.
Definition: kvaDbLib.h:239
KvaDbStatus kvaDbSetAttributeDefinitionInt(KvaDbAttributeDefHnd adh, int def, int min, int max)
void * KvaDbSignalGroupHnd
Signal group handle.
Definition: kvaDbLib.h:314
KvaDbStatus kvaDbReadFile(KvaDbHnd dh, char *filename)
KvaDbStatus kvaDbGetMsgByPGN(KvaDbHnd dh, unsigned int id, KvaDbMessageHnd *mh)
KvaDbStatus kvaDbGetAttributeDefinitionString(KvaDbAttributeDefHnd adh, char *buf, size_t buflen)
KvaDbAttributeType
Definition: kvaDbLib.h:234
KvaDbStatus kvaDbGetNodeName(KvaDbNodeHnd nh, char *buf, size_t buflen)
No schedule table was found.
Definition: kvaDbLib.h:171
KvaDbStatus kvaDbGetAttributeDefinitionEnumNext(KvaDbAttributeDefHnd adh, int *eValue, char *eName, size_t *buflen)
Could not find the database node.
Definition: kvaDbLib.h:163
Signal owner.
Definition: kvaDbLib.h:255
Float, strictly 32 bit long.
Definition: kvaDbLib.h:222
KvaDbStatus kvaDbGetAttributeDefinitionEnumNameByValue(KvaDbAttributeDefHnd adh, int eValue, char *buf, size_t *buflen)
KvaDbStatus kvaDbGetSignalValueScaling(KvaDbSignalHnd sh, double *factor, double *offset)
KvaDbStatus kvaDbSetAttributeDefinitionOwner(KvaDbAttributeDefHnd adh, KvaDbAttributeOwner adOwner)
KvaDbStatus kvaDbAddNode(KvaDbHnd dh, KvaDbNodeHnd *nh)
One or more of the parameters in call is erronous.
Definition: kvaDbLib.h:157
KvaDbStatus kvaDbAddMsgAttribute(KvaDbMessageHnd mh, KvaDbAttributeDefHnd adh, KvaDbAttributeHnd *ah)
Can FD protocol.
Definition: kvaDbLib.h:277
KvaDbStatus kvaDbGetSignalAttributeByName(KvaDbSignalHnd sh, const char *attrName, KvaDbAttributeHnd *ah)
KvaDbStatus kvaDbCreate(KvaDbHnd dh, const char *localName, const char *filename)
Float attribute.
Definition: kvaDbLib.h:237
KvaDbStatus kvaDbGetAttributeDefinitionByName(KvaDbHnd dh, const char *attrName, KvaDbAttributeDefHnd *adh)
KvaDbStatus kvaDbDeleteEnumValue(KvaDbSignalHnd sh, KvaDbEnumValueHnd eh)
kvaDb_Motorola
Definition: kvaDbLib.h:208
KvaDbStatus kvaDbGetFlags(KvaDbHnd dh, unsigned int *flags)
void * KvaDbHnd
Database handle.
Definition: kvaDbLib.h:311
KvaDbStatus kvaDbSetAttributeValueEnumeration(KvaDbAttributeHnd ah, int val)
KvaDbStatus kvaDbAddAttribute(KvaDbHnd dh, KvaDbAttributeDefHnd adh, KvaDbAttributeHnd *ah)
Database owner.
Definition: kvaDbLib.h:252
Node owner.
Definition: kvaDbLib.h:254
KvaDbStatus kvaDbGetSignalByName(KvaDbMessageHnd mh, char *buf, KvaDbSignalHnd *sh)
KvaDbStatus kvaDbSetMsgComment(KvaDbMessageHnd mh, char *buf)
Can protocol.
Definition: kvaDbLib.h:268
KvaDbStatus kvaDbDeleteNode(KvaDbHnd dh, KvaDbNodeHnd nh)
KvaDbStatus kvaDbGetNodeAttributeIntByName(KvaDbNodeHnd nh, const char *attrName, int *val)
KvaDbStatus kvaDbDeleteSignal(KvaDbMessageHnd mh, KvaDbSignalHnd sh)
KvaDbStatus kvaDbSetNodeComment(KvaDbNodeHnd nh, char *buf)
KvaDbStatus kvaDbGetSignalGroupSize(KvaDbSignalGroupHnd sgh, size_t *out)
KvaDbStatus kvaDbGetFirstSignalGroup(KvaDbMessageHnd mh, KvaDbSignalGroupHnd *sgh)
KvaDbStatus kvaDbGetNextMsg(KvaDbHnd dh, KvaDbMessageHnd *mh)
KvaDbStatus kvaDbRetrieveSignalValueRaw64(KvaDbSignalHnd sh, uint64_t *value, void *data, size_t len)
KvaDbStatus kvaDbAddSignal(KvaDbMessageHnd mh, KvaDbSignalHnd *sh)
KvaDbStatus kvaDbDeleteAttributeDefinitionEnum(KvaDbAttributeDefHnd adh, const char *eName, int eValue)
KvaDbStatus kvaDbAddSignalAttribute(KvaDbSignalHnd sh, KvaDbAttributeDefHnd adh, KvaDbAttributeHnd *ah)
KvaDbStatus kvaDbSetSignalComment(KvaDbSignalHnd sh, char *buf)
Integer attribute.
Definition: kvaDbLib.h:236
KvaDbStatus kvaDbGetNextNode(KvaDbHnd dh, KvaDbNodeHnd *nh)
KvaDbStatus kvaDbGetNextAttributeDefinition(KvaDbAttributeDefHnd adh, KvaDbAttributeDefHnd *nadh)
KvaDbStatus kvaDbGetFirstSignal(KvaDbMessageHnd mh, KvaDbSignalHnd *sh)
KvaDbStatus kvaDbGetNodeByName(KvaDbHnd dh, const char *node_name, KvaDbNodeHnd *nh)
void * KvaDbNodeHnd
Node handle.
Definition: kvaDbLib.h:315
KvaDbStatus kvaDbRetrieveSignalValueRaw(KvaDbSignalHnd sh, int *value, void *data, size_t len)
KvaDbStatus kvaDbGetNextScheduleTableEntry(KvaDbScheduleTableHnd th, KvaDbScheduleTableEntryHnd *eh)
KvaDbStatus kvaDbGetAttributeValueFloat(KvaDbAttributeHnd ah, float *val)
void * KvaDbEnumValueHnd
Enumeration value handle.
Definition: kvaDbLib.h:318
KvaDbStatus kvaDbSetMsgDlc(KvaDbMessageHnd mh, int dlc)
KvaDbStatus kvaDbDeleteAttributeDefinition(KvaDbHnd dh, KvaDbAttributeDefHnd adh)
KvaDbStatus kvaDbSetSignalEncoding(KvaDbSignalHnd sh, KvaDbSignalEncoding e)
Definition: kvaDbLib.h:292
KvaDbStatus kvaDbGetAttributeDefinitionEnumValueByName(KvaDbAttributeDefHnd adh, const char *eName, int *eValue)
General failure.
Definition: kvaDbLib.h:155
KvaDbStatus kvaDbMsgDlcToBytes(KvaDbProtocolType prot, unsigned int dlc, unsigned int *numBytes)
KvaDbStatus kvaDbGetMsgFlags(KvaDbMessageHnd mh, unsigned int *flags)
KvaDbStatus kvaDbAddReceiveNodeToSignal(KvaDbSignalHnd sh, KvaDbNodeHnd nh)
KvaDbStatus kvaDbGetSignalValueInteger(KvaDbSignalHnd sh, int *f, void *data, size_t len)
KvaDbStatus kvaDbGetProtocolProperties(KvaDbProtocolType prot, KvaDbProtocolProperties *prop)
KvaDbStatus kvaDbGetSignalValueFloat(KvaDbSignalHnd sh, double *f, void *data, size_t len)
KvaDbStatus kvaDbGetMsgById(KvaDbHnd dh, unsigned int id, KvaDbMessageHnd *mh)
KvaDbStatus kvaDbGetNextEnumValue(KvaDbSignalHnd sh, KvaDbEnumValueHnd *eh)
KvaDbStatus kvaDbGetDatabaseName(KvaDbHnd dh, char *buf, size_t buflen)
KvaDbStatus kvaDbGetNextAttribute(KvaDbAttributeHnd ah, KvaDbAttributeHnd *nah)
KvaDbStatus kvaDbSetAttributeDefinitionType(KvaDbAttributeDefHnd adh, KvaDbAttributeType adType)
KvaDbStatus kvaDbGetNextScheduleTable(KvaDbHnd dh, KvaDbScheduleTableHnd *th)
OK - no error.
Definition: kvaDbLib.h:154
KvaDbStatus kvaDbGetSignalUnit(KvaDbSignalHnd sh, char *buf, size_t buflen)