NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
dutransport.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA CORPORATION and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA CORPORATION is strictly prohibited.
9  */
10 
17 #ifndef DUTRANSPORT_H_
18 #define DUTRANSPORT_H_
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 /* ------------------------ Global Includes --------------------------------- */
25 #include <net/if.h>
26 
27 /* ------------------------ Drive Update Includes --------------------------- */
28 #include "ducommon.h"
29 
38 /* ------------------------ Defines------------------------------------------ */
39 
41 #define DUTR_NAME_MAX (256U)
42 
43 /* ------------------------ Types ------------------------------------------- */
44 
48 typedef enum DUTR_TR_TYPE
49 {
56 } DUTR_TR_TYPE;
57 
61 typedef enum DUTR_SEC_TYPE
62 {
68 
72 typedef uint32_t DUTR_SEC_NONE_PARAM;
73 typedef uint32_t DUTR_SEC_TLS_PARAM;
74 
75 typedef void *PDUTR_SEC_PARAM;
76 
80 typedef struct DUTR_IVC_PARAM
81 {
85 
89 typedef struct DUTR_NVSCI_PARAM
90 {
92  char ep[2][DUTR_NAME_MAX];
94 
98 typedef enum DUTR_TCP_ROLE
99 {
106 } DUTR_TCP_ROLE;
107 
111 #define DUTR_IPV4_ADDR_STR_SIZE (16U)
112 
115 typedef struct DUTR_TCP_IF_PARAM
116 {
120  uint16_t port;
122 
126 #define DUTR_IFNAME_MAX IFNAMSIZ
127 
130 typedef struct DUTR_TCP_PARAM
131 {
141 
145 typedef void *PDUTR_TR_PARAM;
146 
149 #ifdef __cplusplus
150 }
151 #endif
152 
153 #endif // DUTRANSPORT_H_
DUTR_TCP_PARAM::role
DUTR_TCP_ROLE role
Specify if it is the server or client.
Definition: dutransport.h:139
DUTR_TCP_PARAM
Defines the parameter for TCP transport protocol.
Definition: dutransport.h:130
DUTR_TR_TYPE_IVC
@ DUTR_TR_TYPE_IVC
IVC based inter-VM communication.
Definition: dutransport.h:51
PDUTR_NVSCI_PARAM
struct DUTR_NVSCI_PARAM * PDUTR_NVSCI_PARAM
DUTR_TCP_PARAM
struct DUTR_TCP_PARAM DUTR_TCP_PARAM
Defines the parameter for TCP transport protocol.
DUTR_TCP_IF_PARAM::port
uint16_t port
Port to be used.
Definition: dutransport.h:120
DUTR_NVSCI_PARAM
Defines DU-Transport NVSCI parameters.
Definition: dutransport.h:89
DUTR_TCP_INVALID
@ DUTR_TCP_INVALID
Invalid type.
Definition: dutransport.h:105
DUTR_TCP_PARAM::remote
DUTR_TCP_IF_PARAM remote
The remote server address to connect, used only for DUTR_TCP_CLIENT.
Definition: dutransport.h:137
DUTR_NVSCI_PARAM
struct DUTR_NVSCI_PARAM DUTR_NVSCI_PARAM
Defines DU-Transport NVSCI parameters.
DUTR_TR_TYPE
DUTR_TR_TYPE
Defines DU-Transport back-end transport protocols.
Definition: dutransport.h:48
DUTR_IVC_PARAM::name
char name[DUTR_NAME_MAX]
The name string to identify an IVC channel.
Definition: dutransport.h:83
DUTR_TCP_ROLE
DUTR_TCP_ROLE
Defines the role of TCP connection.
Definition: dutransport.h:98
PDUTR_TR_PARAM
void * PDUTR_TR_PARAM
Holds the pointer to parameter of DU-Transport back-end protocols.
Definition: dutransport.h:145
PDUTR_IVC_PARAM
struct DUTR_IVC_PARAM * PDUTR_IVC_PARAM
DUTR_TCP_CLIENT
@ DUTR_TCP_CLIENT
The client to connect to remote server.
Definition: dutransport.h:103
DUTR_TCP_IF_PARAM
Defines the structure of TCP level address.
Definition: dutransport.h:115
DUTR_NAME_MAX
#define DUTR_NAME_MAX
Defines the max DU-Transport name string size.
Definition: dutransport.h:41
DUTR_SEC_NONE_PARAM
uint32_t DUTR_SEC_NONE_PARAM
Defines DU-Transport security parameters.
Definition: dutransport.h:72
DUTR_SEC_TYPE
DUTR_SEC_TYPE
Defines DU-Transport security protocols.
Definition: dutransport.h:61
DUTR_IPV4_ADDR_STR_SIZE
#define DUTR_IPV4_ADDR_STR_SIZE
Defines the IPV4 IP address string size.
Definition: dutransport.h:111
DUTR_SEC_TLS_PARAM
uint32_t DUTR_SEC_TLS_PARAM
Definition: dutransport.h:73
DUTR_TR_TYPE_TCP
@ DUTR_TR_TYPE_TCP
TCP based data transport, available on standard build only.
Definition: dutransport.h:55
DUTR_SEC_TYPE_NONE
@ DUTR_SEC_TYPE_NONE
Security type not yet defined.
Definition: dutransport.h:64
DUTR_IFNAME_MAX
#define DUTR_IFNAME_MAX
Defines the interface name string size.
Definition: dutransport.h:126
PDUTR_TCP_IF_PARAM
struct DUTR_TCP_IF_PARAM * PDUTR_TCP_IF_PARAM
DUTR_TCP_IF_PARAM::ip
char ip[DUTR_IPV4_ADDR_STR_SIZE]
IPV4 IP address string.
Definition: dutransport.h:118
PDUTR_SEC_PARAM
void * PDUTR_SEC_PARAM
Definition: dutransport.h:75
DUTR_TCP_PARAM::local
DUTR_TCP_IF_PARAM local
The address bound to a local socket.
Definition: dutransport.h:135
DUTR_SEC_TYPE_TLS
@ DUTR_SEC_TYPE_TLS
TLS security type.
Definition: dutransport.h:66
DUTR_TCP_SERVER
@ DUTR_TCP_SERVER
The server waiting for client connection.
Definition: dutransport.h:101
DUTR_TR_TYPE_NVSCI
@ DUTR_TR_TYPE_NVSCI
NVSCIIPC lib.
Definition: dutransport.h:53
DUTR_TCP_PARAM::ifName
char ifName[DUTR_IFNAME_MAX]
String of interface name.
Definition: dutransport.h:133
DUTR_IVC_PARAM
struct DUTR_IVC_PARAM DUTR_IVC_PARAM
Defines DU-Transport IVC parameters.
ducommon.h
Common definitions and declarations for NVIDIA DRIVE® Update.
DUTR_IVC_PARAM
Defines DU-Transport IVC parameters.
Definition: dutransport.h:80
DUTR_TCP_IF_PARAM
struct DUTR_TCP_IF_PARAM DUTR_TCP_IF_PARAM
Defines the structure of TCP level address.
DUTR_NVSCI_PARAM::ep
char ep[2][DUTR_NAME_MAX]
The name string to identify an NVSCI endpoint.
Definition: dutransport.h:92
PDUTR_TCP_PARAM
struct DUTR_TCP_PARAM * PDUTR_TCP_PARAM