2 * Copyright (C) 2018 "IoT.bzh"
3 * Author: José Bollo <jose.bollo@iot.bzh>
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
20 typedef enum afb_auth_type afb_auth_type_t;
21 typedef struct afb_auth afb_auth_t;
22 typedef struct afb_arg afb_arg_t;
24 #if AFB_BINDING_VERSION == 1
26 typedef struct afb_verb_desc_v1 afb_verb_t;
27 typedef struct afb_binding_v1 afb_binding_t;
28 typedef struct afb_binding_interface_v1 afb_binding_interface_v1;
30 typedef struct afb_daemon_x1 afb_daemon_t;
31 typedef struct afb_service_x1 afb_service_t;
33 typedef struct afb_event_x1 afb_event_t;
34 typedef struct afb_req_x1 afb_req_t;
36 typedef struct afb_stored_req afb_stored_req_t;
39 typedef struct afb_event_x1 afb_event;
40 typedef struct afb_req_x1 afb_req;
41 typedef struct afb_stored_req afb_stored_req;
46 #if AFB_BINDING_VERSION == 2
48 typedef struct afb_verb_v2 afb_verb_t;
49 typedef struct afb_binding_v2 afb_binding_t;
51 typedef struct afb_daemon afb_daemon_t;
52 typedef struct afb_event afb_event_t;
53 typedef struct afb_req afb_req_t;
54 typedef struct afb_stored_req afb_stored_req_t;
55 typedef struct afb_service afb_service_t;
57 #define afbBindingExport afbBindingV2
60 typedef struct afb_verb_v2 afb_verb_v2;
61 typedef struct afb_binding_v2 afb_binding_v2;
62 typedef struct afb_event_x1 afb_event;
63 typedef struct afb_req_x1 afb_req;
64 typedef struct afb_stored_req afb_stored_req;
69 #if AFB_BINDING_VERSION == 3
71 typedef struct afb_verb_v3 afb_verb_t;
72 typedef struct afb_binding_v3 afb_binding_t;
74 typedef struct afb_event_x2 *afb_event_t;
75 typedef struct afb_req_x2 *afb_req_t;
76 typedef struct afb_api_x3 *afb_api_t;
77 typedef enum afb_req_subcall_flags afb_req_subcall_flags_t;
79 #define afbBindingExport afbBindingV3
80 #define afbBindingRoot afbBindingV3root
81 #define afbBindingEntry afbBindingV3entry
83 /* compatibility with previous versions */
85 typedef struct afb_api_x3 *afb_daemon_t;
86 typedef struct afb_api_x3 *afb_service_t;
91 #if defined(AFB_BINDING_WANT_DYNAPI)
92 typedef struct afb_dynapi *afb_dynapi_t;
93 typedef struct afb_request *afb_request_t;
94 typedef struct afb_eventid *afb_eventid_t;