XROAD
xroad_uri.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include "xroad_string.h"
9 
10 #ifdef __cplusplus
11 extern "C"
12 {
13 #endif
14 
15 typedef enum
16 {
17  xroad_uri_type_unknown = 0,
18  xroad_uri_type_rabbit = 1,
19  xroad_uri_type_uds = 2,
20  xroad_uri_type_shm = 3,
21  xroad_uri_type_tcp = 4,
22  xroad_uri_type_udp = 5,
23  xroad_uri_type_mysql = 6
24 } xroad_uri_type_t;
25 
26 typedef struct
27 {
28  xroad_str_t username;
29  xroad_str_t password;
30  xroad_str_t host;
31  uint16_t port;
33 
34 typedef struct
35 {
36  xroad_str_t path;
38 
39 typedef struct
40 {
41  xroad_str_t addr;
42  uint64_t size;
44 
45 typedef struct
46 {
47  xroad_str_t addr;
48  uint16_t port;
50 
51 typedef struct
52 {
53  xroad_str_t bind_addr;
54  xroad_str_t group_addr;
55  uint16_t group_port;
56  xroad_str_t src_addr;
58 
59 typedef struct
60 {
61  xroad_str_t username;
62  xroad_str_t password;
63  xroad_str_t host;
64  uint16_t port;
65  xroad_str_t db;
67 
68 typedef struct
69 {
70  xroad_uri_type_t type;
71  char error[255];
72  union
73  {
74  xroad_uri_rabbit_t rabbit;
75  xroad_uri_uds_t uds;
76  xroad_uri_shm_t shm;
77  xroad_uri_tcp_t tcp;
78  xroad_uri_udp_t udp;
79  xroad_uri_mysql_t mysql;
80  };
82 
89 xroad_errno_t xroad_uri_parse(xroad_str_t uri, xroad_uri_res_t* res);
90 
96 xroad_uri_type_t xroad_uri_get_type(xroad_str_t uri);
97 
98 #ifdef __cplusplus
99 }
100 #endif
Definition: xroad_string.h:29
Definition: xroad_uri.h:60
Definition: xroad_uri.h:27
Definition: xroad_uri.h:69
Definition: xroad_uri.h:40
Definition: xroad_uri.h:46
Definition: xroad_uri.h:52
Definition: xroad_uri.h:35
xroad_errno_t xroad_uri_parse(xroad_str_t uri, xroad_uri_res_t *res)
xroad_uri_type_t xroad_uri_get_type(xroad_str_t uri)