xref: /netbsd-src/external/bsd/wpa/dist/src/eap_peer/tncc.h (revision e604d8611dacba7ab12396e19398c8a39b20a815)
18dbcf02cSchristos /*
28dbcf02cSchristos  * EAP-TNC - TNCC (IF-IMC and IF-TNCCS)
38dbcf02cSchristos  * Copyright (c) 2007, Jouni Malinen <j@w1.fi>
48dbcf02cSchristos  *
5*e604d861Schristos  * This software may be distributed under the terms of the BSD license.
6*e604d861Schristos  * See README for more details.
78dbcf02cSchristos  */
88dbcf02cSchristos 
98dbcf02cSchristos #ifndef TNCC_H
108dbcf02cSchristos #define TNCC_H
118dbcf02cSchristos 
128dbcf02cSchristos struct tncc_data;
138dbcf02cSchristos 
148dbcf02cSchristos struct tncc_data * tncc_init(void);
158dbcf02cSchristos void tncc_deinit(struct tncc_data *tncc);
168dbcf02cSchristos void tncc_init_connection(struct tncc_data *tncc);
178dbcf02cSchristos size_t tncc_total_send_len(struct tncc_data *tncc);
188dbcf02cSchristos u8 * tncc_copy_send_buf(struct tncc_data *tncc, u8 *pos);
198dbcf02cSchristos char * tncc_if_tnccs_start(struct tncc_data *tncc);
208dbcf02cSchristos char * tncc_if_tnccs_end(void);
218dbcf02cSchristos 
228dbcf02cSchristos enum tncc_process_res {
238dbcf02cSchristos 	TNCCS_PROCESS_ERROR = -1,
248dbcf02cSchristos 	TNCCS_PROCESS_OK_NO_RECOMMENDATION = 0,
258dbcf02cSchristos 	TNCCS_RECOMMENDATION_ERROR,
268dbcf02cSchristos 	TNCCS_RECOMMENDATION_ALLOW,
278dbcf02cSchristos 	TNCCS_RECOMMENDATION_NONE,
288dbcf02cSchristos 	TNCCS_RECOMMENDATION_ISOLATE
298dbcf02cSchristos };
308dbcf02cSchristos 
318dbcf02cSchristos enum tncc_process_res tncc_process_if_tnccs(struct tncc_data *tncc,
328dbcf02cSchristos 					    const u8 *msg, size_t len);
338dbcf02cSchristos 
348dbcf02cSchristos struct wpabuf * tncc_process_soh_request(int ver, const u8 *data, size_t len);
358dbcf02cSchristos 
368dbcf02cSchristos #endif /* TNCC_H */
37