1/*
2 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
3 * Permission to use, copy, modify, and/or distribute this software for
4 * any purpose with or without fee is hereby granted, provided that the
5 * above copyright notice and this permission notice appear in all copies.
6 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
7 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
8 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
9 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
10 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
11 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
12 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
13 */
14
15
16
17#ifndef _GARUDA_MISC_H_
18#define _GARUDA_MISC_H_
19
20#ifdef __cplusplus
21extern "C" {
22#endif                          /* __cplusplus */
23
24#include "fal/fal_misc.h"
25
26    sw_error_t garuda_misc_init(a_uint32_t dev_id);
27
28#ifdef IN_MISC
29#define GARUDA_MISC_INIT(rv, dev_id) \
30    { \
31        rv = garuda_misc_init(dev_id); \
32        SW_RTN_ON_ERROR(rv); \
33    }
34#else
35#define GARUDA_MISC_INIT(rv, dev_id)
36#endif
37
38#ifdef HSL_STANDALONG
39
40
41    HSL_LOCAL sw_error_t
42    garuda_arp_status_set(a_uint32_t dev_id, a_bool_t enable);
43
44
45
46    HSL_LOCAL sw_error_t
47    garuda_arp_status_get(a_uint32_t dev_id, a_bool_t * enable);
48
49
50
51    HSL_LOCAL sw_error_t
52    garuda_frame_max_size_set(a_uint32_t dev_id, a_uint32_t size);
53
54
55
56    HSL_LOCAL sw_error_t
57    garuda_frame_max_size_get(a_uint32_t dev_id, a_uint32_t * size);
58
59
60
61    HSL_LOCAL sw_error_t
62    garuda_port_unk_sa_cmd_set(a_uint32_t dev_id, fal_port_t port_id,
63                               fal_fwd_cmd_t cmd);
64
65
66
67    HSL_LOCAL sw_error_t
68    garuda_port_unk_sa_cmd_get(a_uint32_t dev_id, fal_port_t port_id,
69                               fal_fwd_cmd_t * cmd);
70
71
72
73    HSL_LOCAL sw_error_t
74    garuda_port_unk_uc_filter_set(a_uint32_t dev_id, fal_port_t port_id,
75                                  a_bool_t enable);
76
77
78
79    HSL_LOCAL sw_error_t
80    garuda_port_unk_uc_filter_get(a_uint32_t dev_id, fal_port_t port_id,
81                                  a_bool_t * enable);
82
83
84
85    HSL_LOCAL sw_error_t
86    garuda_port_unk_mc_filter_set(a_uint32_t dev_id, fal_port_t port_id,
87                                  a_bool_t enable);
88
89
90
91    HSL_LOCAL sw_error_t
92    garuda_port_unk_mc_filter_get(a_uint32_t dev_id, fal_port_t port_id,
93                                  a_bool_t * enable);
94
95
96
97    HSL_LOCAL sw_error_t
98    garuda_cpu_port_status_set(a_uint32_t dev_id, a_bool_t enable);
99
100
101
102    HSL_LOCAL sw_error_t
103    garuda_cpu_port_status_get(a_uint32_t dev_id, a_bool_t * enable);
104
105
106
107    HSL_LOCAL sw_error_t
108    garuda_bc_to_cpu_port_set(a_uint32_t dev_id, a_bool_t enable);
109
110
111
112    HSL_LOCAL sw_error_t
113    garuda_bc_to_cpu_port_get(a_uint32_t dev_id, a_bool_t * enable);
114
115
116
117    HSL_LOCAL sw_error_t
118    garuda_pppoe_cmd_set(a_uint32_t dev_id, fal_fwd_cmd_t cmd);
119
120
121
122    HSL_LOCAL sw_error_t
123    garuda_pppoe_cmd_get(a_uint32_t dev_id, fal_fwd_cmd_t * cmd);
124
125
126    HSL_LOCAL sw_error_t
127    garuda_pppoe_status_set(a_uint32_t dev_id, a_bool_t enable);
128
129
130
131    HSL_LOCAL sw_error_t
132    garuda_pppoe_status_get(a_uint32_t dev_id, a_bool_t * enable);
133
134
135    HSL_LOCAL sw_error_t
136    garuda_port_dhcp_set(a_uint32_t dev_id, fal_port_t port_id, a_bool_t enable);
137
138
139
140    HSL_LOCAL sw_error_t
141    garuda_port_dhcp_get(a_uint32_t dev_id, fal_port_t port_id, a_bool_t * enable);
142#endif
143
144#ifdef __cplusplus
145}
146#endif                          /* __cplusplus */
147#endif                          /* _GARUDA_MISC_H_ */
148