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