]>
Commit | Line | Data |
---|---|---|
887d9d01 HW |
1 | /* |
2 | * SecY Operations | |
3 | * Copyright (c) 2013, Qualcomm Atheros, Inc. | |
4 | * | |
5 | * This software may be distributed under the terms of the BSD license. | |
6 | * See README for more details. | |
7 | */ | |
8 | ||
9 | #ifndef IEEE802_1X_SECY_OPS_H | |
10 | #define IEEE802_1X_SECY_OPS_H | |
11 | ||
12 | #include "common/defs.h" | |
13 | #include "common/ieee802_1x_defs.h" | |
14 | ||
15 | struct ieee802_1x_kay_conf; | |
887d9d01 HW |
16 | |
17 | int secy_init_macsec(struct ieee802_1x_kay *kay); | |
18 | int secy_deinit_macsec(struct ieee802_1x_kay *kay); | |
19 | ||
20 | /****** CP -> SecY ******/ | |
21 | int secy_cp_control_validate_frames(struct ieee802_1x_kay *kay, | |
22 | enum validate_frames vf); | |
23 | int secy_cp_control_protect_frames(struct ieee802_1x_kay *kay, Boolean flag); | |
24 | int secy_cp_control_replay(struct ieee802_1x_kay *kay, Boolean flag, u32 win); | |
07a6bfe1 | 25 | int secy_cp_control_current_cipher_suite(struct ieee802_1x_kay *kay, u64 cs); |
887d9d01 HW |
26 | int secy_cp_control_confidentiality_offset(struct ieee802_1x_kay *kay, |
27 | enum confidentiality_offset co); | |
28 | int secy_cp_control_enable_port(struct ieee802_1x_kay *kay, Boolean flag); | |
29 | ||
30 | /****** KaY -> SecY *******/ | |
a25e4efc | 31 | int secy_get_capability(struct ieee802_1x_kay *kay, enum macsec_cap *cap); |
887d9d01 HW |
32 | int secy_get_receive_lowest_pn(struct ieee802_1x_kay *kay, |
33 | struct receive_sa *rxsa); | |
34 | int secy_get_transmit_next_pn(struct ieee802_1x_kay *kay, | |
35 | struct transmit_sa *txsa); | |
36 | int secy_set_transmit_next_pn(struct ieee802_1x_kay *kay, | |
37 | struct transmit_sa *txsa); | |
38 | int secy_get_available_receive_sc(struct ieee802_1x_kay *kay, u32 *channel); | |
39 | int secy_create_receive_sc(struct ieee802_1x_kay *kay, struct receive_sc *rxsc); | |
40 | int secy_delete_receive_sc(struct ieee802_1x_kay *kay, struct receive_sc *rxsc); | |
41 | int secy_create_receive_sa(struct ieee802_1x_kay *kay, struct receive_sa *rxsa); | |
42 | int secy_enable_receive_sa(struct ieee802_1x_kay *kay, struct receive_sa *rxsa); | |
43 | int secy_disable_receive_sa(struct ieee802_1x_kay *kay, | |
44 | struct receive_sa *rxsa); | |
45 | ||
46 | int secy_get_available_transmit_sc(struct ieee802_1x_kay *kay, u32 *channel); | |
47 | int secy_create_transmit_sc(struct ieee802_1x_kay *kay, | |
48 | struct transmit_sc *txsc); | |
49 | int secy_delete_transmit_sc(struct ieee802_1x_kay *kay, | |
50 | struct transmit_sc *txsc); | |
51 | int secy_create_transmit_sa(struct ieee802_1x_kay *kay, | |
52 | struct transmit_sa *txsa); | |
53 | int secy_enable_transmit_sa(struct ieee802_1x_kay *kay, | |
54 | struct transmit_sa *txsa); | |
55 | int secy_disable_transmit_sa(struct ieee802_1x_kay *kay, | |
56 | struct transmit_sa *txsa); | |
57 | ||
58 | #endif /* IEEE802_1X_SECY_OPS_H */ |