source: pacpussensors/trunk/CanGateway/driver/kvaser/linux/objbuf.h@ 102

Last change on this file since 102 was 97, checked in by DHERBOMEZ Gérald, 9 years ago

add include files for kvaser

File size: 3.8 KB
Line 
1/*
2** Copyright 2012 by Kvaser AB, Mölndal, 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" AND
23** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
24** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25** DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
26** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
27** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
29** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32**
33**
34** License: GPLv2
35** ===============================================================================
36** This program is free software; you can redistribute it and/or
37** modify it under the terms of the GNU General Public License
38** as published by the Free Software Foundation; either version 2
39** of the License, or (at your option) any later version.
40**
41** This program is distributed in the hope that it will be useful,
42** but WITHOUT ANY WARRANTY; without even the implied warranty of
43** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
44** GNU General Public License for more details.
45**
46** You should have received a copy of the GNU General Public License
47** along with this program; if not, write to the Free Software
48** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
49**
50** ---------------------------------------------------------------------------
51**/
52
53#ifndef OBJBUF_H
54#define OBJBUF_H
55
56#include "vcanevt.h"
57
58#define MAX_OBJECT_BUFFERS 8
59
60// Object buffer types.
61#define OBJBUF_TYPE_AUTO_RESPONSE 1
62#define OBJBUF_TYPE_PERIODIC_TX 2
63
64#define OBJBUF_AUTO_RESPONSE_RTR_ONLY 0x01 // Flag: respond to RTR's only
65
66#define OBJBUF_DRIVER_MARKER 0x40000000 // To make handles different
67#define OBJBUF_DRIVER_MASK 0x1f // Support up to 32 object buffers
68
69typedef struct {
70 unsigned int acc_code; // For autoresponse bufs; filter code
71 unsigned int acc_mask; // For autoresponse bufs; filter mask
72 unsigned int period; // For auto tx buffers; interval in microseconds
73 CAN_MSG msg;
74 unsigned char in_use;
75 unsigned char active;
76 unsigned char type;
77 unsigned char flags;
78} OBJECT_BUFFER;
79
80struct VCanOpenFileNode;
81
82unsigned int objbuf_filter_match(OBJECT_BUFFER *buf, unsigned int id,
83 unsigned int flags);
84void objbuf_init(struct VCanOpenFileNode *fileNodePtr);
85void objbuf_shutdown(struct VCanOpenFileNode *fileNodePtr);
86
87#endif
Note: See TracBrowser for help on using the repository browser.