Compare commits
1 Commits
8675d64fb5
...
cb19c9d24b
| Author | SHA1 | Date |
|---|---|---|
|
|
cb19c9d24b |
|
|
@ -72,9 +72,6 @@
|
||||||
#ifndef SO_TIMESTAMPING
|
#ifndef SO_TIMESTAMPING
|
||||||
#define SO_TIMESTAMPING 37
|
#define SO_TIMESTAMPING 37
|
||||||
#endif
|
#endif
|
||||||
#ifndef SCM_TIMESTAMPING
|
|
||||||
#define SCM_TIMESTAMPING SO_TIMESTAMPING
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define TIMESTAMPSZ 50 /* string 'absolute with date' requires max 49 bytes */
|
#define TIMESTAMPSZ 50 /* string 'absolute with date' requires max 49 bytes */
|
||||||
|
|
||||||
|
|
@ -810,13 +807,13 @@ int main(int argc, char **argv)
|
||||||
for (cmsg = CMSG_FIRSTHDR(&msg);
|
for (cmsg = CMSG_FIRSTHDR(&msg);
|
||||||
cmsg && (cmsg->cmsg_level == SOL_SOCKET);
|
cmsg && (cmsg->cmsg_level == SOL_SOCKET);
|
||||||
cmsg = CMSG_NXTHDR(&msg,cmsg)) {
|
cmsg = CMSG_NXTHDR(&msg,cmsg)) {
|
||||||
if (cmsg->cmsg_type == SCM_TIMESTAMP) {
|
if (cmsg->cmsg_type == SO_TIMESTAMP) {
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
memcpy(&tv, CMSG_DATA(cmsg), sizeof(tv));
|
memcpy(&tv, CMSG_DATA(cmsg), sizeof(tv));
|
||||||
ts.tv_sec = tv.tv_sec;
|
ts.tv_sec = tv.tv_sec;
|
||||||
ts.tv_nsec = tv.tv_usec;
|
ts.tv_nsec = tv.tv_usec;
|
||||||
ts.tv_nsec *= 1000;
|
ts.tv_nsec *= 1000;
|
||||||
} else if (cmsg->cmsg_type == SCM_TIMESTAMPING) {
|
} else if (cmsg->cmsg_type == SO_TIMESTAMPING) {
|
||||||
struct timespec *stamp = (struct timespec *)CMSG_DATA(cmsg);
|
struct timespec *stamp = (struct timespec *)CMSG_DATA(cmsg);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
7
lib.c
7
lib.c
|
|
@ -83,8 +83,8 @@ static inline void _put_id(char *buf, int end_offset, canid_t id)
|
||||||
|
|
||||||
/* CAN DLC to real data length conversion helpers */
|
/* CAN DLC to real data length conversion helpers */
|
||||||
|
|
||||||
static const unsigned char dlc2len[] = {
|
static const unsigned char dlc2len[] = {0, 1, 2, 3, 4, 5, 6, 7,
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 16, 20, 24, 32, 48, 64};
|
8, 12, 16, 20, 24, 32, 48, 64};
|
||||||
|
|
||||||
/* get data length from raw data length code (DLC) */
|
/* get data length from raw data length code (DLC) */
|
||||||
unsigned char can_fd_dlc2len(unsigned char dlc)
|
unsigned char can_fd_dlc2len(unsigned char dlc)
|
||||||
|
|
@ -92,8 +92,7 @@ unsigned char can_fd_dlc2len(unsigned char dlc)
|
||||||
return dlc2len[dlc & 0x0F];
|
return dlc2len[dlc & 0x0F];
|
||||||
}
|
}
|
||||||
|
|
||||||
static const unsigned char len2dlc[] = {
|
static const unsigned char len2dlc[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, /* 0 - 8 */
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, /* 0 - 8 */
|
|
||||||
9, 9, 9, 9, /* 9 - 12 */
|
9, 9, 9, 9, /* 9 - 12 */
|
||||||
10, 10, 10, 10, /* 13 - 16 */
|
10, 10, 10, 10, /* 13 - 16 */
|
||||||
11, 11, 11, 11, /* 17 - 20 */
|
11, 11, 11, 11, /* 17 - 20 */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue