2 * Copyright (c) 2019 Cisco and/or its affiliates.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at:
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
17 #ifndef SRC_VNET_SESSION_APPLICATION_LOCAL_H_
18 #define SRC_VNET_SESSION_APPLICATION_LOCAL_H_
20 #include <vnet/session/application.h>
21 #include <vnet/session/transport.h>
23 #define foreach_ct_flags \
24 _ (CLIENT, "client") \
25 _ (HALF_OPEN, "half-open")
29 #define _(sym, str) CT_CONN_BIT_F_##sym,
36 #define _(sym, str) CT_CONN_F_##sym = 1 << CT_CONN_BIT_F_##sym,
39 } ct_connection_flags_t;
41 typedef struct ct_connection_
43 transport_connection_t connection;
46 transport_proto_t actual_tp;
50 svm_fifo_t *client_rx_fifo;
51 svm_fifo_t *client_tx_fifo;
52 ct_connection_flags_t flags;
55 session_t *ct_session_get_peer (session_t * s);
56 void ct_session_endpoint (session_t * ll, session_endpoint_t * sep);
57 int ct_session_connect_notify (session_t * ls);
58 int ct_session_tx (session_t * s);
60 #endif /* SRC_VNET_SESSION_APPLICATION_LOCAL_H_ */
63 * fd.io coding-style-patch-verification: ON
66 * eval: (c-set-style "gnu")