Commit | Line | Data |
---|---|---|
7040e556 D |
1 | /******************************************************************************/ |
2 | /* */ | |
3 | /* bypass library, Copyright (c) 2004 Silicom, Ltd */ | |
4 | /* Corporation. */ | |
5 | /* */ | |
6 | /* This program is free software; you can redistribute it and/or modify */ | |
7 | /* it under the terms of the GNU General Public License as published by */ | |
8 | /* the Free Software Foundation, located in the file LICENSE. */ | |
9 | /* */ | |
10 | /* Ver 1.0.0 */ | |
11 | /* */ | |
12 | /* libbypass.h */ | |
13 | /* */ | |
14 | /******************************************************************************/ | |
15 | ||
6aa2039d D |
16 | #define BP_CAP 0x01 /* BIT_0 */ |
17 | #define BP_STATUS_CAP 0x02 | |
18 | #define BP_STATUS_CHANGE_CAP 0x04 | |
19 | #define SW_CTL_CAP 0x08 | |
20 | #define BP_DIS_CAP 0x10 | |
21 | #define BP_DIS_STATUS_CAP 0x20 | |
22 | #define STD_NIC_CAP 0x40 | |
23 | #define BP_PWOFF_ON_CAP 0x80 | |
24 | #define BP_PWOFF_OFF_CAP 0x0100 | |
25 | #define BP_PWOFF_CTL_CAP 0x0200 | |
26 | #define BP_PWUP_ON_CAP 0x0400 | |
27 | #define BP_PWUP_OFF_CAP 0x0800 | |
28 | #define BP_PWUP_CTL_CAP 0x1000 | |
29 | #define WD_CTL_CAP 0x2000 | |
30 | #define WD_STATUS_CAP 0x4000 | |
31 | #define WD_TIMEOUT_CAP 0x8000 | |
32 | #define TX_CTL_CAP 0x10000 | |
33 | #define TX_STATUS_CAP 0x20000 | |
34 | #define TAP_CAP 0x40000 | |
35 | #define TAP_STATUS_CAP 0x80000 | |
36 | #define TAP_STATUS_CHANGE_CAP 0x100000 | |
37 | #define TAP_DIS_CAP 0x200000 | |
38 | #define TAP_DIS_STATUS_CAP 0x400000 | |
39 | #define TAP_PWUP_ON_CAP 0x800000 | |
40 | #define TAP_PWUP_OFF_CAP 0x1000000 | |
41 | #define TAP_PWUP_CTL_CAP 0x2000000 | |
42 | #define NIC_CAP_NEG 0x4000000 /* BIT 26 */ | |
7040e556 D |
43 | |
44 | #define WD_MIN_TIME_GET(desc) (desc & 0xf) | |
7040e556 D |
45 | #define WDT_STEP_TIME 0x10 |
46 | ||
47 | struct bp_info { | |
48 | char prod_name[14]; | |
49 | unsigned char fw_ver; | |
50 | }; | |
51 | ||
52 | /** | |
53 | * is_bypass - check if device is a Bypass controlling device | |
54 | * @if_index: network device index | |
55 | * | |
56 | * Output: | |
65af0ae3 | 57 | * 1 - if device is bypass controlling device, |
7040e556 D |
58 | * 0 - if device is bypass slave device |
59 | * -1 - device not support Bypass | |
60 | **/ | |
61 | int is_bypass_sd(int if_index); | |
62 | ||
63 | /** | |
64 | * get_bypass_slave - get second port participate in the Bypass pair | |
65 | * @if_index: network device index | |
66 | * | |
67 | * Output: | |
68 | * network device index of the slave device | |
65af0ae3 | 69 | * -1 - on failure (device not support Bypass or it's a slave device) |
7040e556 D |
70 | **/ |
71 | int get_bypass_slave_sd(int if_index); | |
72 | ||
73 | /** | |
74 | * get_bypass_caps - get second port participate in the Bypass pair | |
75 | * @if_index: network device index | |
76 | * | |
77 | * Output: | |
65af0ae3 | 78 | * flags word on success;flag word is a 32-bit mask word with each bit defines different |
7040e556 D |
79 | * capability as described bellow. |
80 | * Value of 1 for supporting this feature. 0 for not supporting this feature. | |
81 | * -1 - on failure (if the device is not capable of the operation or not a Bypass device) | |
82 | * Bit feature description | |
65af0ae3 | 83 | * |
7040e556 | 84 | * 0 BP_CAP The interface is Bypass capable in general |
65af0ae3 | 85 | * |
7040e556 | 86 | * 1 BP_STATUS_CAP The interface can report of the current Bypass mode |
65af0ae3 DC |
87 | * |
88 | * 2 BP_STATUS_CHANGE_CAP The interface can report on a change to bypass mode from | |
7040e556 | 89 | * the last time the mode was defined |
65af0ae3 | 90 | * |
7040e556 | 91 | * 3 SW_CTL_CAP The interface is Software controlled capable for bypass/non bypass modes. |
65af0ae3 DC |
92 | * |
93 | * 4 BP_DIS_CAP The interface is capable of disabling the Bypass mode at all times. | |
94 | * This mode will retain its mode even during power loss and also after | |
95 | * power recovery. This will overcome on any bypass operation due to | |
7040e556 | 96 | * watchdog timeout or set bypass command. |
65af0ae3 | 97 | * |
7040e556 | 98 | * 5 BP_DIS_STATUS_CAP The interface can report of the current DIS_BP_CAP |
65af0ae3 DC |
99 | * |
100 | * 6 STD_NIC_CAP The interface is capable to be configured to operate as standard, non Bypass, | |
7040e556 | 101 | * NIC interface (have direct connection to interfaces at all power modes) |
65af0ae3 | 102 | * |
7040e556 | 103 | * 7 BP_PWOFF_NO_CAP The interface can be in Bypass mode at power off state |
65af0ae3 DC |
104 | * |
105 | * 8 BP_PWOFF_OFF_CAP The interface can disconnect the Bypass mode at power off state without | |
7040e556 | 106 | * effecting all the other states of operation |
65af0ae3 DC |
107 | * |
108 | * 9 BP_PWOFF_CTL_CAP The behavior of the Bypass mode at Power-off state can be controlled by | |
7040e556 | 109 | * software without effecting any other state |
65af0ae3 DC |
110 | * |
111 | *10 BP_PWUP_ON_CAP The interface can be in Bypass mode when power is turned on | |
7040e556 | 112 | * (until the system take control of the bypass functionality) |
65af0ae3 DC |
113 | * |
114 | *11 BP_PWUP_OFF_CAP The interface can disconnect from Bypass mode when power is turned on | |
7040e556 | 115 | * (until the system take control of the bypass functionality) |
65af0ae3 | 116 | * |
7040e556 | 117 | *12 BP_PWUP_CTL_CAP The behavior of the Bypass mode at Power-up can be controlled by software |
65af0ae3 DC |
118 | * |
119 | *13 WD_CTL_CAP The interface has watchdog capabilities to turn to Bypass mode when not reset | |
7040e556 | 120 | * for defined period of time. |
f8402b63 | 121 | * |
7040e556 | 122 | *14 WD_STATUS_CAP The interface can report on the watchdog status (Active/inactive) |
f8402b63 | 123 | * |
7040e556 | 124 | *15 WD_TIMEOUT_CAP The interface can report the time left till watchdog triggers to Bypass mode. |
f8402b63 DC |
125 | * |
126 | *16-31 RESERVED | |
7040e556 D |
127 | * |
128 | * **/ | |
129 | int get_bypass_caps_sd(int if_index); | |
130 | ||
131 | /** | |
132 | * get_wd_set_caps - Obtain watchdog timer setting capabilities | |
133 | * @if_index: network device index | |
134 | * | |
135 | * Output: | |
f8402b63 DC |
136 | * |
137 | * Set of numbers defining the various parameters of the watchdog capable | |
7040e556 D |
138 | * to be set to as described bellow. |
139 | * -1 - on failure (device not support Bypass or it's a slave device) | |
f8402b63 | 140 | * |
7040e556 | 141 | * Bit feature description |
f8402b63 | 142 | * |
7040e556 | 143 | * 0-3 WD_MIN_TIME The interface WD minimal time period in 100mS units |
f8402b63 DC |
144 | * |
145 | * 4 WD_STEP_TIME The steps of the WD timer in | |
7040e556 D |
146 | * 0 - for linear steps (WD_MIN_TIME * X) |
147 | * 1 - for multiply by 2 from previous step (WD_MIN_TIME * 2^X) | |
f8402b63 DC |
148 | * |
149 | * 5-8 WD_STEP_COUNT Number of steps the WD timer supports in 2^X | |
7040e556 | 150 | * (X bit available for defining the value) |
f8402b63 DC |
151 | * |
152 | * | |
153 | * | |
7040e556 D |
154 | **/ |
155 | int get_wd_set_caps_sd(int if_index); | |
156 | ||
157 | /** | |
158 | * set_bypass - set Bypass state | |
159 | * @if_index: network device index of the controlling device | |
f8402b63 | 160 | * @bypass_mode: bypass mode (1=on, 0=off) |
7040e556 D |
161 | * Output: |
162 | * 0 - on success | |
f8402b63 | 163 | * -1 - on failure (device not support Bypass or it's a slave device) |
7040e556 D |
164 | **/ |
165 | int set_bypass_sd(int if_index, int bypass_mode); | |
166 | ||
167 | /** | |
168 | * get_bypass - Get Bypass mode state | |
169 | * @if_index: network device index of the controlling device | |
170 | * Output: | |
171 | * 0/1 - (off/on) on success | |
f8402b63 | 172 | * -1 - on failure (device not support Bypass or it's a slave device) |
7040e556 D |
173 | **/ |
174 | int get_bypass_sd(int if_index); | |
175 | ||
176 | /** | |
177 | * get_bypass_change - Get change of Bypass mode state from last status check | |
178 | * @if_index: network device index of the controlling device | |
179 | * Output: | |
180 | * 0/1 - (off/on) on success | |
f8402b63 | 181 | * -1 - on failure (device not support Bypass or it's a slave device) |
7040e556 D |
182 | **/ |
183 | int get_bypass_change_sd(int if_index); | |
184 | ||
185 | /** | |
186 | * set_dis_bypass - Set Disable Bypass mode | |
187 | * @if_index: network device index of the controlling device | |
188 | * @dis_bypass: disable bypass(1=dis, 0=en) | |
189 | * Output: | |
190 | * 0 - on success | |
f8402b63 DC |
191 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass |
192 | * or it's a slave device) | |
7040e556 D |
193 | **/ |
194 | int set_dis_bypass_sd(int if_index, int dis_bypass); | |
195 | ||
196 | /** | |
197 | * get_dis_bypass - Get Disable Bypass mode state | |
198 | * @if_index: network device index of the controlling device | |
199 | * Output: | |
200 | * 0/1 - on success (normal Bypass mode/ Disable bypass) | |
f8402b63 DC |
201 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass |
202 | * or it's a slave device) | |
7040e556 D |
203 | **/ |
204 | int get_dis_bypass_sd(int if_index); | |
205 | ||
206 | /** | |
207 | * set_bypass_pwoff - Set Bypass mode at power-off state | |
208 | * @if_index: network device index of the controlling device | |
209 | * @bypass_mode: bypass mode setting at power off state (1=BP en, 0=BP Dis) | |
210 | * Output: | |
f8402b63 DC |
211 | * 0 - on success |
212 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass | |
213 | * or it's a slave device) | |
7040e556 D |
214 | **/ |
215 | int set_bypass_pwoff_sd(int if_index, int bypass_mode); | |
216 | ||
217 | /** | |
218 | * get_bypass_pwoff - Get Bypass mode state at power-off state | |
219 | * @if_index: network device index of the controlling device | |
220 | * Output: | |
221 | * 0/1 - on success (Disable bypass at power off state / normal Bypass mode) | |
f8402b63 DC |
222 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass |
223 | * or it's a slave device) | |
7040e556 D |
224 | **/ |
225 | int get_bypass_pwoff_sd(int if_index); | |
226 | ||
227 | /** | |
228 | * set_bypass_pwup - Set Bypass mode at power-up state | |
229 | * @if_index: network device index of the controlling device | |
230 | * @bypass_mode: bypass mode setting at power up state (1=BP en, 0=BP Dis) | |
231 | * Output: | |
f8402b63 DC |
232 | * 0 - on success |
233 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass | |
234 | * or it's a slave device) | |
7040e556 D |
235 | **/ |
236 | int set_bypass_pwup_sd(int if_index, int bypass_mode); | |
237 | ||
238 | /** | |
239 | * get_bypass_pwup - Get Bypass mode state at power-up state | |
240 | * @if_index: network device index of the controlling device | |
241 | * Output: | |
242 | * 0/1 - on success (Disable bypass at power up state / normal Bypass mode) | |
f8402b63 DC |
243 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass |
244 | * or it's a slave device) | |
7040e556 D |
245 | **/ |
246 | int get_bypass_pwup_sd(int if_index); | |
247 | ||
248 | /** | |
249 | * set_bypass_wd - Set watchdog state | |
250 | * @if_index: network device index of the controlling device | |
251 | * @ms_timeout: requested timeout (in ms units), 0 for disabling the watchdog timer | |
f8402b63 | 252 | * @ms_timeout_set(output): requested timeout (in ms units), |
7040e556 D |
253 | * that the adapter supports and will be used by the watchdog |
254 | * Output: | |
f8402b63 DC |
255 | * 0 - on success |
256 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass | |
257 | * or it's a slave device) | |
7040e556 D |
258 | **/ |
259 | int set_bypass_wd_sd(int if_index, int ms_timeout, int *ms_timeout_set); | |
260 | ||
261 | /** | |
262 | * get_bypass_wd - Get watchdog state | |
263 | * @if_index: network device index of the controlling device | |
f8402b63 | 264 | * @ms_timeout (output): WDT timeout (in ms units), |
7040e556 D |
265 | * -1 for unknown wdt status |
266 | * 0 if WDT is disabled | |
267 | * Output: | |
268 | * 0 - on success | |
f8402b63 DC |
269 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass |
270 | * or it's a slave device) | |
7040e556 D |
271 | **/ |
272 | int get_bypass_wd_sd(int if_index, int *ms_timeout_set); | |
273 | ||
274 | /** | |
275 | * get_wd_expire_time - Get watchdog expire | |
276 | * @if_index: network device index of the controlling device | |
f8402b63 | 277 | * @ms_time_left (output): time left till watchdog time expire, |
7040e556 D |
278 | * -1 if WDT has expired |
279 | * 0 if WDT is disabled | |
280 | * Output: | |
281 | * 0 - on success | |
f8402b63 DC |
282 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass |
283 | * or it's a slave device or unknown wdt status) | |
7040e556 D |
284 | **/ |
285 | int get_wd_expire_time_sd(int if_index, int *ms_time_left); | |
286 | ||
287 | /** | |
288 | * reset_bypass_wd_timer - Reset watchdog timer | |
289 | * @if_index: network device index of the controlling device | |
f8402b63 | 290 | * |
7040e556 D |
291 | * Output: |
292 | * 1 - on success | |
293 | * 0 - watchdog is not configured | |
f8402b63 DC |
294 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass |
295 | * or it's a slave device or unknown wdt status) | |
7040e556 D |
296 | **/ |
297 | int reset_bypass_wd_timer_sd(int if_index); | |
298 | ||
299 | /** | |
300 | * set_std_nic - Standard NIC mode of operation | |
301 | * @if_index: network device index of the controlling device | |
302 | * @nic_mode: 0/1 (Default Bypass mode / Standard NIC mode) | |
f8402b63 | 303 | * |
7040e556 D |
304 | * Output: |
305 | * 0 - on success | |
f8402b63 DC |
306 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass |
307 | * or it's a slave device) | |
7040e556 D |
308 | **/ |
309 | int set_std_nic_sd(int if_index, int nic_mode); | |
310 | ||
311 | /** | |
312 | * get_std_nic - Get Standard NIC mode setting | |
313 | * @if_index: network device index of the controlling device | |
f8402b63 | 314 | * |
7040e556 D |
315 | * Output: |
316 | * 0/1 (Default Bypass mode / Standard NIC mode) on success | |
f8402b63 DC |
317 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass |
318 | * or it's a slave device) | |
7040e556 D |
319 | **/ |
320 | int get_std_nic_sd(int if_index); | |
321 | ||
322 | /** | |
f8402b63 | 323 | * set_tx - set transmitter enable/disable |
7040e556 D |
324 | * @if_index: network device index of the controlling device |
325 | * @tx_state: 0/1 (Transmit Disable / Transmit Enable) | |
f8402b63 | 326 | * |
7040e556 D |
327 | * Output: |
328 | * 0 - on success | |
f8402b63 | 329 | * -1 - on failure (device is not capable of the operation ) |
7040e556 D |
330 | **/ |
331 | int set_tx_sd(int if_index, int tx_state); | |
332 | ||
333 | /** | |
334 | * get_tx - get transmitter state (disable / enable) | |
335 | * @if_index: network device index of the controlling device | |
f8402b63 | 336 | * |
7040e556 D |
337 | * Output: |
338 | * 0/1 (ransmit Disable / Transmit Enable) on success | |
f8402b63 | 339 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass) |
7040e556 D |
340 | **/ |
341 | int get_tx_sd(int if_index); | |
342 | ||
343 | /** | |
f8402b63 | 344 | * set_tpl - set TPL enable/disable |
7040e556 D |
345 | * @if_index: network device index of the controlling device |
346 | * @tx_state: 0/1 (TPL Disable / TPL Enable) | |
f8402b63 | 347 | * |
7040e556 D |
348 | * Output: |
349 | * 0 - on success | |
f8402b63 | 350 | * -1 - on failure (device is not capable of the operation ) |
7040e556 D |
351 | **/ |
352 | int set_tpl_sd(int if_index, int tpl_state); | |
353 | ||
354 | /** | |
355 | * get_tpl - get TPL state (disable / enable) | |
356 | * @if_index: network device index of the controlling device | |
f8402b63 | 357 | * |
7040e556 D |
358 | * Output: |
359 | * 0/1 (TPL Disable / TPL Enable) on success | |
f8402b63 | 360 | * -1 - on failure (device is not capable of the operation) |
7040e556 D |
361 | **/ |
362 | int get_tpl_sd(int if_index); | |
363 | ||
364 | int get_bp_hw_reset_sd(int if_index); | |
365 | ||
366 | int set_bp_hw_reset_sd(int if_index, int status); | |
367 | ||
368 | /** | |
369 | * set_tap - set TAP state | |
370 | * @if_index: network device index of the controlling device | |
f8402b63 | 371 | * @tap_mode: 1 tap mode , 0 normal nic mode |
7040e556 D |
372 | * Output: |
373 | * 0 - on success | |
f8402b63 | 374 | * -1 - on failure (device not support TAP or it's a slave device) |
7040e556 D |
375 | **/ |
376 | int set_tap_sd(int if_index, int tap_mode); | |
377 | ||
378 | /** | |
379 | * get_tap - Get TAP mode state | |
380 | * @if_index: network device index of the controlling device | |
381 | * Output: | |
382 | * 0/1 - (off/on) on success | |
f8402b63 | 383 | * -1 - on failure (device not support TAP or it's a slave device) |
7040e556 D |
384 | **/ |
385 | int get_tap_sd(int if_index); | |
386 | ||
387 | /** | |
388 | * get_tap_change - Get change of TAP mode state from last status check | |
389 | * @if_index: network device index of the controlling device | |
390 | * Output: | |
391 | * 0/1 - (off/on) on success | |
f8402b63 | 392 | * -1 - on failure (device not support TAP or it's a slave device) |
7040e556 D |
393 | **/ |
394 | int get_tap_change_sd(int if_index); | |
395 | ||
396 | /** | |
397 | * set_dis_tap - Set Disable TAP mode | |
398 | * @if_index: network device index of the controlling device | |
399 | * @dis_tap: disable tap(1=dis, 0=en) | |
400 | * Output: | |
401 | * 0 - on success | |
f8402b63 DC |
402 | * -1 - on failure (device is not capable of the operation ordevice not support TAP |
403 | * or it's a slave device) | |
7040e556 D |
404 | **/ |
405 | int set_dis_tap_sd(int if_index, int dis_tap); | |
406 | ||
407 | /** | |
408 | * get_dis_tap - Get Disable TAP mode state | |
409 | * @if_index: network device index of the controlling device | |
410 | * Output: | |
411 | * 0/1 - on success (normal TAP mode/ Disable TAP) | |
f8402b63 DC |
412 | * -1 - on failure (device is not capable of the operation ordevice not support TAP |
413 | * or it's a slave device) | |
7040e556 D |
414 | **/ |
415 | int get_dis_tap_sd(int if_index); | |
416 | ||
417 | /** | |
418 | * set_tap_pwup - Set TAP mode at power-up state | |
419 | * @if_index: network device index of the controlling device | |
420 | * @bypass_mode: tap mode setting at power up state (1=TAP en, 0=TAP Dis) | |
421 | * Output: | |
f8402b63 | 422 | * 0 - on success |
25dd8512 DC |
423 | * -1 - on failure (device is not capable of the operation ordevice not support TAP |
424 | * or it's a slave device) | |
7040e556 D |
425 | **/ |
426 | int set_tap_pwup_sd(int if_index, int tap_mode); | |
427 | ||
428 | /** | |
429 | * get_tap_pwup - Get TAP mode state at power-up state | |
430 | * @if_index: network device index of the controlling device | |
431 | * Output: | |
432 | * 0/1 - on success (Disable TAP at power up state / normal TAP mode) | |
25dd8512 DC |
433 | * -1 - on failure (device is not capable of the operation ordevice not support TAP |
434 | * or it's a slave device) | |
7040e556 D |
435 | **/ |
436 | int get_tap_pwup_sd(int if_index); | |
437 | ||
438 | /** | |
439 | * set_wd_exp_mode - Set adapter state when WDT expired. | |
440 | * @if_index: network device index of the controlling device | |
25dd8512 | 441 | * @bypass_mode: adapter mode (1=tap mode, 0=bypass mode) |
7040e556 D |
442 | * Output: |
443 | * 0 - on success | |
25dd8512 | 444 | * -1 - on failure (device not support Bypass or it's a slave device) |
7040e556 D |
445 | **/ |
446 | int set_wd_exp_mode_sd(int if_index, int bypass_mode); | |
447 | ||
448 | /** | |
449 | * get_wd_exp_mode - Get adapter state when WDT expired. | |
450 | * @if_index: network device index of the controlling device | |
451 | * Output: | |
452 | * 0/1 - (bypass/tap) on success | |
25dd8512 | 453 | * -1 - on failure (device not support Bypass or it's a slave device) |
7040e556 D |
454 | **/ |
455 | int get_wd_exp_mode_sd(int if_index); | |
456 | ||
457 | /** | |
458 | * set_wd_autoreset - reset WDT periodically. | |
459 | * @if_index: network device index of the controlling device | |
25dd8512 | 460 | * @bypass_mode: adapter mode (1=tap mode, 0=bypass mode) |
7040e556 D |
461 | * Output: |
462 | * 1 - on success | |
25dd8512 DC |
463 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass |
464 | * or it's a slave device or unknown wdt status) | |
7040e556 D |
465 | **/ |
466 | int set_wd_autoreset_sd(int if_index, int time); | |
467 | ||
468 | /** | |
469 | * set_wd_autoreset - reset WDT periodically. | |
470 | * @if_index: network device index of the controlling device | |
25dd8512 | 471 | * @bypass_mode: adapter mode (1=tap mode, 0=bypass mode) |
7040e556 D |
472 | * Output: |
473 | * 1 - on success | |
25dd8512 DC |
474 | * -1 - on failure (device is not capable of the operation ordevice not support Bypass |
475 | * or it's a slave device or unknown wdt status) | |
7040e556 D |
476 | **/ |
477 | int get_wd_autoreset_sd(int if_index); | |
478 | /** | |
479 | * set_disc - set DISC state | |
480 | * @if_index: network device index of the controlling device | |
25dd8512 | 481 | * @tap_mode: 1 DISC mode , 0 normal nic mode |
7040e556 D |
482 | * Output: |
483 | * 0 - on success | |
25dd8512 | 484 | * -1 - on failure (device not support disconnect or it's a slave device) |
7040e556 D |
485 | **/ |
486 | int set_bp_disc_sd(int if_index, int disc_mode); | |
487 | ||
488 | /** | |
489 | * get_disc - Get disc mode state | |
490 | * @if_index: network device index of the controlling device | |
491 | * Output: | |
492 | * 0/1 - (off/on) on success | |
25dd8512 | 493 | * -1 - on failure (device not support disconnect or it's a slave device) |
7040e556 D |
494 | **/ |
495 | int get_bp_disc_sd(int if_index); | |
496 | ||
497 | /** | |
498 | * get_disc_change - Get change of DISC mode state from last status check | |
499 | * @if_index: network device index of the controlling device | |
500 | * Output: | |
501 | * 0/1 - (off/on) on success | |
25dd8512 | 502 | * -1 - on failure (device not support disconnect or it's a slave device) |
7040e556 D |
503 | **/ |
504 | int get_bp_disc_change_sd(int if_index); | |
505 | ||
506 | /** | |
507 | * set_dis_disc - Set Disable DISC mode | |
508 | * @if_index: network device index of the controlling device | |
509 | * @dis_disc: disable disconnect(1=dis, 0=en) | |
510 | * Output: | |
511 | * 0 - on success | |
25dd8512 DC |
512 | * -1 - on failure (device is not capable of the operation ordevice not support DISC |
513 | * or it's a slave device) | |
7040e556 D |
514 | **/ |
515 | int set_bp_dis_disc_sd(int if_index, int dis_disc); | |
516 | ||
517 | /** | |
518 | * get_dis_disc - Get Disable DISC mode state | |
519 | * @if_index: network device index of the controlling device | |
520 | * Output: | |
521 | * 0/1 - on success (normal DISC mode/ Disable DISC) | |
25dd8512 DC |
522 | * -1 - on failure (device is not capable of the operation ordevice not support TAP |
523 | * or it's a slave device) | |
7040e556 D |
524 | **/ |
525 | int get_bp_dis_disc_sd(int if_index); | |
526 | ||
527 | /** | |
528 | * set_disc_pwup - Set DISC mode at power-up state | |
529 | * @if_index: network device index of the controlling device | |
530 | * @disc_mode: DISC mode setting at power up state (1= en, 0= Dis) | |
531 | * Output: | |
25dd8512 DC |
532 | * 0 - on success |
533 | * -1 - on failure (device is not capable of the operation ordevice not support DISC | |
534 | * or it's a slave device) | |
7040e556 D |
535 | **/ |
536 | int set_bp_disc_pwup_sd(int if_index, int disc_mode); | |
537 | ||
538 | /** | |
539 | * get_disc_pwup - Get DISC mode state at power-up state | |
540 | * @if_index: network device index of the controlling device | |
541 | * Output: | |
542 | * 0/1 - on success (Disable DISC at power up state / normal DISC mode) | |
25dd8512 DC |
543 | * -1 - on failure (device is not capable of the operation ordevice not support DISC |
544 | * or it's a slave device) | |
7040e556 D |
545 | **/ |
546 | int get_bp_disc_pwup_sd(int if_index); | |
547 | ||
548 | int get_bypass_info_sd(int if_index, struct bp_info *bp_info); | |
549 | int bp_if_scan_sd(void); | |
550 | /*int get_dev_num_sd(void);*/ |