diff --git a/packages/base/any/onlp/src/onlp/doc/.gitignore b/packages/base/any/onlp/src/onlp/doc/.gitignore new file mode 100644 index 00000000..4bec8fe4 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/.gitignore @@ -0,0 +1,2 @@ +*.db +latex diff --git a/packages/base/any/onlp/src/onlp/doc/html/annotated.html b/packages/base/any/onlp/src/onlp/doc/html/annotated.html new file mode 100644 index 00000000..5e15fd9c --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/annotated.html @@ -0,0 +1,112 @@ + + + + + + +ONLP: Data Structures + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+ + + + + + + + + + + + +
 Conlp_asset_info_sThis structure describes general asset information that may be associated with a particular OID
 Conlp_chassis_info_sChassis Information Structure
 Conlp_config_settings_s
 Conlp_fan_info_s
 Conlp_generic_info_sGeneric OID Information Structure
 Conlp_led_info_s
 Conlp_module_info_sModule OID Information Structure
 Conlp_oid_hdr_s
 Conlp_psu_info_t
 Conlp_sfp_info_t
 Conlp_thermal_info_s
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/attribute_8h.html b/packages/base/any/onlp/src/onlp/doc/html/attribute_8h.html new file mode 100644 index 00000000..32f40214 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/attribute_8h.html @@ -0,0 +1,173 @@ + + + + + + +ONLP: module/inc/onlp/attribute.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+Macros | +Functions
+
+
attribute.h File Reference
+
+
+ +

Attributes. +More...

+
#include <onlp/oids.h>
+#include <onlp/onlp.h>
+#include <onlp/stdattrs.h>
+#include <AIM/aim_pvs.h>
+
+

Go to the source code of this file.

+ + + + + +

+Macros

+#define ONLP_ATTRIBUTE_EQUALS(_a, _b)   (!strcmp(_a, _b))
 Attribute comparitor.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int onlp_attribute_sw_init (void)
 Initialize the attribute subsystem. More...
 
int onlp_attribute_hw_init (uint32_t flags)
 Hardware initialization of the attribute subsystem. More...
 
int onlp_attribute_supported (onlp_oid_t oid, const char *attribute)
 Determine whether the OID supports the given attribute. More...
 
int onlp_attribute_set (onlp_oid_t oid, const char *attribute, void *value)
 Set an attribute on the given OID. More...
 
int onlp_attribute_get (onlp_oid_t oid, const char *attribute, void **value)
 Get an attribute from the given OID. More...
 
int onlp_attribute_free (onlp_oid_t oid, const char *attribute, void *value)
 Free an attribute value returned from onlp_attribute_get(). More...
 
int onlp_attribute_onie_info_get (onlp_oid_t oid, onlp_onie_info_t **rp)
 Request the ONIE attribute. More...
 
int onlp_attribute_onie_info_free (onlp_oid_t oid, onlp_onie_info_t *p)
 Free an ONIE attribute pointer. More...
 
int onlp_attribute_onie_info_get_json (onlp_oid_t oid, cJSON **rp)
 Request the ONIE attribute in JSON. More...
 
int onlp_attribute_onie_info_show (onlp_oid_t oid, aim_pvs_t *pvs)
 Show the ONIE attribute. More...
 
int onlp_attribute_onie_info_show_json (onlp_oid_t oid, aim_pvs_t *pvs)
 Show the ONIE attribute (JSON) More...
 
int onlp_attribute_asset_info_get (onlp_oid_t oid, onlp_asset_info_t **rp)
 Determine if the ONIE attribute is supported. More...
 
int onlp_attribute_asset_info_free (onlp_oid_t oid, onlp_asset_info_t *p)
 Free an asset attribute pointer. More...
 
int onlp_attribute_asset_info_get_json (onlp_oid_t oid, cJSON **rp)
 Request the asset attribute in JSON. More...
 
int onlp_attribute_asset_info_show (onlp_oid_t oid, aim_pvs_t *pvs)
 Show the asset attribute. More...
 
int onlp_attribute_asset_info_show_json (onlp_oid_t oid, aim_pvs_t *pvs)
 Show the asset attribute (JSON). More...
 
+

Detailed Description

+

Attributes.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/attribute_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/attribute_8h_source.html new file mode 100644 index 00000000..2d2c26a1 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/attribute_8h_source.html @@ -0,0 +1,190 @@ + + + + + + +ONLP: module/inc/onlp/attribute.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+
attribute.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2017 v=onl>
+
3  *
+
4  * Copyright 2017 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
29 #ifndef __ONLP_ATTRIBUTE_H__
+
30 #define __ONLP_ATTRIBUTE_H__
+
31 
+
32 #include <onlp/oids.h>
+
33 #include <onlp/onlp.h>
+
34 #include <onlp/stdattrs.h>
+
35 #include <AIM/aim_pvs.h>
+
36 
+
42 int onlp_attribute_sw_init(void);
+
43 
+
50 int onlp_attribute_hw_init(uint32_t flags);
+
51 
+
57 int onlp_attribute_supported(onlp_oid_t oid, const char* attribute);
+
58 
+
65 int onlp_attribute_set(onlp_oid_t oid, const char* attribute, void* value);
+
66 
+
73 int onlp_attribute_get(onlp_oid_t oid, const char* attribute,
+
74  void** value);
+
75 
+
82 int onlp_attribute_free(onlp_oid_t oid, const char* attribute, void* value);
+
83 
+
87 #define ONLP_ATTRIBUTE_EQUALS(_a, _b) (!strcmp(_a, _b))
+
88 
+
89 /******************************************************************************
+
90  *
+
91  * These functions provide access to standard ONIE and Asset attributes.
+
92  * These are so common that they have their own interface for
+
93  * for both the user and the platform implementations.
+
94  *
+
95  *****************************************************************************/
+
102 int onlp_attribute_onie_info_get(onlp_oid_t oid, onlp_onie_info_t** rp);
+
103 
+
109 int onlp_attribute_onie_info_free(onlp_oid_t oid, onlp_onie_info_t* p);
+
110 
+
117 int onlp_attribute_onie_info_get_json(onlp_oid_t oid, cJSON** rp);
+
118 
+
125 int onlp_attribute_onie_info_show(onlp_oid_t oid, aim_pvs_t* pvs);
+
126 
+
132 int onlp_attribute_onie_info_show_json(onlp_oid_t oid, aim_pvs_t* pvs);
+
133 
+
145 int onlp_attribute_asset_info_get(onlp_oid_t oid, onlp_asset_info_t** rp);
+
146 
+
152 int onlp_attribute_asset_info_free(onlp_oid_t oid, onlp_asset_info_t* p);
+
153 
+
160 int onlp_attribute_asset_info_get_json(onlp_oid_t oid, cJSON** rp);
+
161 
+
168 int onlp_attribute_asset_info_show(onlp_oid_t oid, aim_pvs_t* pvs);
+
169 
+
175 int onlp_attribute_asset_info_show_json(onlp_oid_t oid, aim_pvs_t* pvs);
+
176 
+
177 #endif /* __ONLP_ATTRIBUTE_H__ */
+
178 /* @} */
+
int onlp_attribute_onie_info_free(onlp_oid_t oid, onlp_onie_info_t *p)
Free an ONIE attribute pointer.
+
int onlp_attribute_asset_info_get_json(onlp_oid_t oid, cJSON **rp)
Request the asset attribute in JSON.
+
int onlp_attribute_onie_info_show(onlp_oid_t oid, aim_pvs_t *pvs)
Show the ONIE attribute.
+
int onlp_attribute_asset_info_show(onlp_oid_t oid, aim_pvs_t *pvs)
Show the asset attribute.
+
int onlp_attribute_asset_info_show_json(onlp_oid_t oid, aim_pvs_t *pvs)
Show the asset attribute (JSON).
+
int onlp_attribute_onie_info_get_json(onlp_oid_t oid, cJSON **rp)
Request the ONIE attribute in JSON.
+
int onlp_attribute_hw_init(uint32_t flags)
Hardware initialization of the attribute subsystem.
+
int onlp_attribute_onie_info_show_json(onlp_oid_t oid, aim_pvs_t *pvs)
Show the ONIE attribute (JSON)
+
int onlp_attribute_asset_info_get(onlp_oid_t oid, onlp_asset_info_t **rp)
Determine if the ONIE attribute is supported.
+
int onlp_attribute_asset_info_free(onlp_oid_t oid, onlp_asset_info_t *p)
Free an asset attribute pointer.
+
int onlp_attribute_sw_init(void)
Initialize the attribute subsystem.
+
int onlp_attribute_set(onlp_oid_t oid, const char *attribute, void *value)
Set an attribute on the given OID.
+
int onlp_attribute_supported(onlp_oid_t oid, const char *attribute)
Determine whether the OID supports the given attribute.
+
int onlp_attribute_get(onlp_oid_t oid, const char *attribute, void **value)
Get an attribute from the given OID.
+
int onlp_attribute_onie_info_get(onlp_oid_t oid, onlp_onie_info_t **rp)
Request the ONIE attribute.
+
Standard OID Attributes.
+
This structure describes general asset information that may be associated with a particular OID...
Definition: stdattrs.h:40
+
int onlp_attribute_free(onlp_oid_t oid, const char *attribute, void *value)
Free an attribute value returned from onlp_attribute_get().
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/attributei_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/attributei_8h_source.html new file mode 100644 index 00000000..dd63f5a1 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/attributei_8h_source.html @@ -0,0 +1,150 @@ + + + + + + +ONLP: module/inc/onlp/platformi/attributei.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+
attributei.h
+
+
+
1 /************************************************************
+
2  * <bsn.cl fy=2017 v=onl>
+
3  *
+
4  * Copyright 2017 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ************************************************************
+
21  *
+
22  * Attribute Platform Implementation.
+
23  *
+
24  ***********************************************************/
+
25 #ifndef __ONLP_ATTRIBUTEI_H__
+
26 #define __ONLP_ATTRIBUTEI_H__
+
27 
+
28 #include <onlp/attribute.h>
+
29 #include <onlp/onlp.h>
+
30 
+
34 int onlp_attributei_sw_init(void);
+
35 
+
39 int onlp_attributei_hw_init(uint32_t flags);
+
40 
+
46 int onlp_attributei_supported(onlp_oid_t oid, const char* attribute);
+
47 
+
54 int onlp_attributei_set(onlp_oid_t oid, const char* attribute, void* value);
+
55 
+
62 int onlp_attributei_get(onlp_oid_t oid, const char* attribute,
+
63  void** value);
+
64 
+
71 int onlp_attributei_free(onlp_oid_t oid, const char* attribute, void* value);
+
72 
+
83 int onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rv);
+
84 
+
91 int onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rv);
+
92 
+
93 #endif /* __ONLP_ATTRIBUTEI_H__ */
+
Attributes.
+
This structure describes general asset information that may be associated with a particular OID...
Definition: stdattrs.h:40
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/base_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/base_8h_source.html new file mode 100644 index 00000000..65cb99d8 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/base_8h_source.html @@ -0,0 +1,145 @@ + + + + + + +ONLP: module/inc/onlp/platformi/base.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+
base.h
+
+
+
1 #ifndef __ONLP_PLATFORMI_COMMON_H__
+
2 #define __ONLP_PLATFORMI_COMMON_H__
+
3 
+
4 /*
+
5  * Interchange includes between subsystems
+
6  */
+ +
8 #include <onlp/platformi/attributei.h>
+
9 #include <onlp/platformi/fani.h>
+
10 #include <onlp/platformi/psui.h>
+ +
12 #include <onlp/platformi/sfpi.h>
+
13 #include <onlp/platformi/ledi.h>
+
14 #include <onlp/platformi/platformi.h>
+
15 #include <onlp/platformi/debugi.h>
+
16 
+
17 /*
+
18  * Common includes needed for subsystem implementations.
+
19  */
+
20 #include <onlplib/i2c.h>
+
21 #include <onlplib/file.h>
+
22 #include <onlplib/mmap.h>
+
23 
+
24 #include <unistd.h>
+
25 #include <fcntl.h>
+
26 #include <sys/mman.h>
+
27 #include <stdio.h>
+
28 #include <string.h>
+
29 
+
30 
+
31 #define ONLP_OID_INFO_ASSIGN(_id, _array, _ptr) \
+
32  do { \
+
33  if(_id <= 0 || _id >= AIM_ARRAYSIZE(_array)) { \
+
34  AIM_LOG_ERROR("size=%d id=%d", AIM_ARRAYSIZE(_array), _id); \
+
35  return ONLP_STATUS_E_PARAM; \
+
36  } \
+
37  (*_ptr) = _array[_id]; \
+
38  } while(0)
+
39 
+
40 #endif /* __ONLP_PLATFORMI_COMMON_H__ */
+
SFP Platform Implementation Interface. This interface must be implemented and available for all platf...
+
Chassis Platform Interface.
+
Power Supply Management Implementation.
+
Fan Platform Implementation.
+
Thermal Sensor Platform Implementation.
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/bc_s.png b/packages/base/any/onlp/src/onlp/doc/html/bc_s.png new file mode 100644 index 00000000..224b29aa Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/bc_s.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/bdwn.png b/packages/base/any/onlp/src/onlp/doc/html/bdwn.png new file mode 100644 index 00000000..940a0b95 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/bdwn.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/chassis_8h.html b/packages/base/any/onlp/src/onlp/doc/html/chassis_8h.html new file mode 100644 index 00000000..cd8890ac --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/chassis_8h.html @@ -0,0 +1,170 @@ + + + + + + +ONLP: module/inc/onlp/chassis.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+Data Structures | +Typedefs | +Functions
+
+
chassis.h File Reference
+
+
+ +

Chassis OID Interface. +More...

+
#include <onlp/onlp_config.h>
+#include <onlp/onlp.h>
+#include <onlplib/onie.h>
+#include <onlplib/pi.h>
+#include <onlp/oids.h>
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  onlp_chassis_info_s
 Chassis Information Structure. More...
 
+ + + + +

+Typedefs

+typedef struct onlp_chassis_info_s onlp_chassis_info_t
 Chassis Information Structure.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int onlp_chassis_sw_init (void)
 Initialize the chassis software module. More...
 
int onlp_chassis_hw_init (uint32_t flags)
 Initialize the chassis. More...
 
int onlp_chassis_sw_denit (void)
 Deinitialize the chassis software module. More...
 
int onlp_chassis_hdr_get (onlp_oid_t oid, onlp_oid_hdr_t *hdr)
 Get the Chassis Header structure. More...
 
int onlp_chassis_info_get (onlp_oid_t oid, onlp_chassis_info_t *info)
 Get the chassis info structure. More...
 
int onlp_chassis_info_to_user_json (onlp_chassis_info_t *info, cJSON **cj, uint32_t flags)
 Convert a chassis info structure to user JSON. More...
 
int onlp_chassis_info_to_json (onlp_chassis_info_t *info, cJSON **cj, uint32_t flags)
 Convert a chassis info structure to JSON. More...
 
int onlp_chassis_info_from_json (cJSON *cj, onlp_chassis_info_t *info)
 Convert a JSON object to a chassis info structure. More...
 
int onlp_chassis_environment_to_json (cJSON **cjp, uint32_t flags)
 Get the user or full environmental json data. More...
 
int onlp_chassis_environment_show (aim_pvs_t *pvs, uint32_t flags)
 Show the environmental data. More...
 
int onlp_chassis_debug_get_json (cJSON **rv)
 Construct the Chassis debug JSON object. More...
 
int onlp_chassis_debug_show (aim_pvs_t *pvs)
 Show the Chassis debug information. `*. More...
 
+

Detailed Description

+

Chassis OID Interface.

+

The Chassis OID represents the root of the system OID tree. There must be one and only one Chassis OID.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/chassis_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/chassis_8h_source.html new file mode 100644 index 00000000..ff14a0fb --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/chassis_8h_source.html @@ -0,0 +1,186 @@ + + + + + + +ONLP: module/inc/onlp/chassis.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+
chassis.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
34 #ifndef __ONLP_CHASSIS_H__
+
35 #define __ONLP_CHASSIS_H__
+
36 
+
37 #include <onlp/onlp_config.h>
+
38 #include <onlp/onlp.h>
+
39 #include <onlplib/onie.h>
+
40 #include <onlplib/pi.h>
+
41 #include <onlp/oids.h>
+
42 
+
47 typedef struct onlp_chassis_info_s {
+ +
50 
+
51  /* Chassis objects have no dedicated fields. */
+
52 
+ +
54 
+
60 int onlp_chassis_sw_init(void);
+
61 
+
66 int onlp_chassis_hw_init(uint32_t flags);
+
67 
+
74 int onlp_chassis_sw_denit(void);
+
75 
+
81 int onlp_chassis_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* hdr);
+
82 
+
88 int onlp_chassis_info_get(onlp_oid_t oid, onlp_chassis_info_t* info);
+
89 
+
96 int onlp_chassis_info_to_user_json(onlp_chassis_info_t* info, cJSON** cj, uint32_t flags);
+
97 
+
104 int onlp_chassis_info_to_json(onlp_chassis_info_t* info, cJSON** cj, uint32_t flags);
+
105 
+ +
112 
+
113 /******************************************************************************
+
114  *
+
115  * Standard Chassis Features
+
116  *
+
117  *****************************************************************************/
+
118 
+
130 int onlp_chassis_environment_to_json(cJSON** cjp, uint32_t flags);
+
131 
+
132 
+
139 int onlp_chassis_environment_show(aim_pvs_t* pvs, uint32_t flags);
+
140 
+
145 int onlp_chassis_debug_get_json(cJSON** rv);
+
146 
+
151 int onlp_chassis_debug_show(aim_pvs_t* pvs);
+
152 
+
153 #endif /* __ONLP_CHASSIS_H_ */
+
154 /* @} */
+
onlp Configuration Header
+
int onlp_chassis_info_to_json(onlp_chassis_info_t *info, cJSON **cj, uint32_t flags)
Convert a chassis info structure to JSON.
+
onlp_oid_hdr_t hdr
Definition: chassis.h:49
+
int onlp_chassis_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t *hdr)
Get the Chassis Header structure.
+
int onlp_chassis_info_to_user_json(onlp_chassis_info_t *info, cJSON **cj, uint32_t flags)
Convert a chassis info structure to user JSON.
+
int onlp_chassis_debug_get_json(cJSON **rv)
Construct the Chassis debug JSON object.
+
int onlp_chassis_hw_init(uint32_t flags)
Initialize the chassis.
+
int onlp_chassis_sw_denit(void)
Deinitialize the chassis software module.
+
int onlp_chassis_environment_to_json(cJSON **cjp, uint32_t flags)
Get the user or full environmental json data.
+
int onlp_chassis_info_from_json(cJSON *cj, onlp_chassis_info_t *info)
Convert a JSON object to a chassis info structure.
+
Chassis Information Structure.
Definition: chassis.h:47
+
int onlp_chassis_environment_show(aim_pvs_t *pvs, uint32_t flags)
Show the environmental data.
+
int onlp_chassis_sw_init(void)
Initialize the chassis software module.
+
int onlp_chassis_debug_show(aim_pvs_t *pvs)
Show the Chassis debug information. `*.
+
int onlp_chassis_info_get(onlp_oid_t oid, onlp_chassis_info_t *info)
Get the chassis info structure.
+
Definition: oids.h:212
+
struct onlp_chassis_info_s onlp_chassis_info_t
Chassis Information Structure.
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/chassisi_8h.html b/packages/base/any/onlp/src/onlp/doc/html/chassisi_8h.html new file mode 100644 index 00000000..d4298620 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/chassisi_8h.html @@ -0,0 +1,130 @@ + + + + + + +ONLP: module/inc/onlp/platformi/chassisi.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+Functions
+
+
chassisi.h File Reference
+
+
+ +

Chassis Platform Interface. +More...

+
#include <onlp/chassis.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + +

+Functions

+int onlp_chassisi_sw_init (void)
 Software initializaiton of the Chassis module.
 
int onlp_chassisi_hw_init (uint32_t flags)
 Hardware initializaiton of the Chassis module. More...
 
int onlp_chassisi_sw_denit (void)
 Deinitialize the chassis software module. More...
 
int onlp_chassisi_hdr_get (onlp_oid_id_t id, onlp_oid_hdr_t *hdr)
 Get the chassis hdr structure. More...
 
int onlp_chassisi_info_get (onlp_oid_id_t id, onlp_chassis_info_t *info)
 Get the chassis info structure. More...
 
+

Detailed Description

+

Chassis Platform Interface.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/chassisi_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/chassisi_8h_source.html new file mode 100644 index 00000000..aef473dd --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/chassisi_8h_source.html @@ -0,0 +1,146 @@ + + + + + + +ONLP: module/inc/onlp/platformi/chassisi.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+
chassisi.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
28 #ifndef __ONLP_CHASSISI_H__
+
29 #define __ONLP_CHASSISI_H__
+
30 
+
31 #include <onlp/chassis.h>
+
32 
+
36 int onlp_chassisi_sw_init(void);
+
37 
+
42 int onlp_chassisi_hw_init(uint32_t flags);
+
43 
+
50 int onlp_chassisi_sw_denit(void);
+
51 
+
52 
+
58 int onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr);
+
59 
+
65 int onlp_chassisi_info_get(onlp_oid_id_t id, onlp_chassis_info_t* info);
+
66 
+
67 #endif /* __ONLP_CHASSISI_H__ */
+
68 /* @} */
+
int onlp_chassisi_info_get(onlp_oid_id_t id, onlp_chassis_info_t *info)
Get the chassis info structure.
+
int onlp_chassisi_hw_init(uint32_t flags)
Hardware initializaiton of the Chassis module.
+
int onlp_chassisi_sw_denit(void)
Deinitialize the chassis software module.
+
Chassis Information Structure.
Definition: chassis.h:47
+
int onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t *hdr)
Get the chassis hdr structure.
+
Chassis OID Interface.
+
int onlp_chassisi_sw_init(void)
Software initializaiton of the Chassis module.
+
Definition: oids.h:212
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/classes.html b/packages/base/any/onlp/src/onlp/doc/html/classes.html new file mode 100644 index 00000000..67fc4882 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/classes.html @@ -0,0 +1,106 @@ + + + + + + +ONLP: Data Structure Index + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+
+
Data Structure Index
+
+
+
O
+ + + + + +
  o  
+
onlp_chassis_info_s   onlp_generic_info_s   onlp_oid_hdr_s   onlp_thermal_info_s   
onlp_config_settings_s   onlp_led_info_s   onlp_psu_info_t   
onlp_asset_info_s   onlp_fan_info_s   onlp_module_info_s   onlp_sfp_info_t   
+
O
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/closed.png b/packages/base/any/onlp/src/onlp/doc/html/closed.png new file mode 100644 index 00000000..98cc2c90 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/closed.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/debug_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/debug_8h_source.html new file mode 100644 index 00000000..7deab5d0 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/debug_8h_source.html @@ -0,0 +1,132 @@ + + + + + + +ONLP: module/inc/onlp/debug.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+
debug.h
+
+
+
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ************************************************************
+
21  *
+
22  * Debug
+
23  *
+
24  ***********************************************************/
+
25 #ifndef __ONLP_DEBUG_H__
+
26 #define __ONLP_DEBUG_H__
+
27 
+
28 #include <AIM/aim_pvs.h>
+
29 
+
33 int onlp_debug(aim_pvs_t* pvs, int argc, char* argv[]);
+
34 
+
35 #endif /* __ONL_DEBUG_H__ */
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/debugi_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/debugi_8h_source.html new file mode 100644 index 00000000..8f2cfaef --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/debugi_8h_source.html @@ -0,0 +1,109 @@ + + + + + + +ONLP: module/inc/onlp/platformi/debugi.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+
debugi.h
+
+
+
1 /**************************************************************************/
+
7 #ifndef __ONLP_DEBUGI_H__
+
8 #define __ONLP_DEBUGI_H__
+
9 
+
10 #include <onlp/debug.h>
+
11 
+
16 int onlp_debugi(aim_pvs_t* pvs, int argc, char* argv[]);
+
17 
+
18 #endif /* __ONLP_DEBUGI_H__ */
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/dir_72adef417dcbc5bf8193445c31305165.html b/packages/base/any/onlp/src/onlp/doc/html/dir_72adef417dcbc5bf8193445c31305165.html new file mode 100644 index 00000000..c7611fae --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/dir_72adef417dcbc5bf8193445c31305165.html @@ -0,0 +1,148 @@ + + + + + + +ONLP: module/inc/onlp Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+
onlp Directory Reference
+
+
+ + + + +

+Directories

directory  platformi
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  attribute.h [code]
 Attributes.
 
file  chassis.h [code]
 Chassis OID Interface.
 
file  debug.h [code]
 
file  fan.h [code]
 Fan Management.
 
file  generic.h [code]
 Generic OID Interface.
 
file  led.h [code]
 
file  module.h [code]
 Module OID Interface.
 
file  oids.h [code]
 
file  onlp.h [code]
 
file  onlp_config.h [code]
 onlp Configuration Header
 
file  onlp_dox.h [code]
 
file  onlp_porting.h [code]
 onlp Porting Macros.
 
file  platform.h [code]
 
file  psu.h [code]
 Power Supply Management.
 
file  sfp.h [code]
 SFP Management Interface.
 
file  stdattrs.h [code]
 Standard OID Attributes.
 
file  thermal.h [code]
 Thermal Sensor Management.
 
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/dir_9b91cb305f6dfd5edb8153d5019adc55.html b/packages/base/any/onlp/src/onlp/doc/html/dir_9b91cb305f6dfd5edb8153d5019adc55.html new file mode 100644 index 00000000..14a5d655 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/dir_9b91cb305f6dfd5edb8153d5019adc55.html @@ -0,0 +1,100 @@ + + + + + + +ONLP: module/inc Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+
inc Directory Reference
+
+
+ + + + +

+Directories

directory  onlp
 
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/dir_a7b0466279106ea0b8f86f609f621680.html b/packages/base/any/onlp/src/onlp/doc/html/dir_a7b0466279106ea0b8f86f609f621680.html new file mode 100644 index 00000000..3c8160f0 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/dir_a7b0466279106ea0b8f86f609f621680.html @@ -0,0 +1,100 @@ + + + + + + +ONLP: module Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+
module Directory Reference
+
+
+ + + + +

+Directories

directory  inc
 
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/dir_ad96458042bbdd0196ba054c40055169.html b/packages/base/any/onlp/src/onlp/doc/html/dir_ad96458042bbdd0196ba054c40055169.html new file mode 100644 index 00000000..f4ce3c08 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/dir_ad96458042bbdd0196ba054c40055169.html @@ -0,0 +1,123 @@ + + + + + + +ONLP: module/inc/onlp/platformi Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ + +
+
+
+
platformi Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  attributei.h [code]
 
file  base.h [code]
 
file  chassisi.h [code]
 Chassis Platform Interface.
 
file  debugi.h [code]
 
file  fani.h [code]
 Fan Platform Implementation.
 
file  ledi.h [code]
 
file  platformi.h [code]
 
file  psui.h [code]
 Power Supply Management Implementation.
 
file  sfpi.h [code]
 SFP Platform Implementation Interface. This interface must be implemented and available for all platforms that support SFP interfaces.
 
file  thermali.h [code]
 Thermal Sensor Platform Implementation.
 
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/doxygen.css b/packages/base/any/onlp/src/onlp/doc/html/doxygen.css new file mode 100644 index 00000000..02e8b015 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/doxygen.css @@ -0,0 +1,1440 @@ +/* The standard CSS for doxygen 1.8.8 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('ftv2folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('ftv2folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('ftv2doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/packages/base/any/onlp/src/onlp/doc/html/doxygen.png b/packages/base/any/onlp/src/onlp/doc/html/doxygen.png new file mode 100644 index 00000000..3ff17d80 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/doxygen.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/dynsections.js b/packages/base/any/onlp/src/onlp/doc/html/dynsections.js new file mode 100644 index 00000000..85e18369 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +ONLP: module/inc/onlp/fan.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
fan.h File Reference
+
+
+ +

Fan Management. +More...

+
#include <onlp/oids.h>
+#include <onlp/onlp.h>
+#include <BigList/biglist.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  onlp_fan_info_s
 
+ + + + + + + + + + + + + + + + + + +

+Macros

+#define ONLP_FAN_INFO_CAP_IS_SET(_pinfo, _name)   ((_pinfo)->caps & ONLP_FAN_CAPS_##_name)
 Determine if a fan capability is set.
 
#define ONLP_FAN_STATUS_PRESENT(_fi)   ((_fi).hdr.status & ONLP_OID_STATUS.PRESENT)
 
#define ONLP_FAN_STATUS_MISSING(_fi)   (!ONLP_FAN_INFO_PRESENT(_fi))
 
#define ONLP_FAN_STATUS_FAILED(_fi)   ( (_fi).hdr.status & ONLP_OID_STATUS.FAILED)
 
#define ONLP_FAN_STATUS_NORMAL(_fi)   ( ONLP_FAN_STATUS_PRESENT(_fi) && !ONLP_FAN_STATUS_FAILED(_fi) )
 
#define ONLP_FAN_CAPS_VALID(_e)   (onlp_fan_caps_valid((_e)))
 
#define ONLP_FAN_DIR_STRINGS
 
#define ONLP_FAN_DIR_VALID(_e)   ( (0 <= (_e)) && ((_e) <= ONLP_FAN_DIR_F2B))
 
+ + + + + + + +

+Typedefs

typedef enum onlp_fan_caps_e onlp_fan_caps_t
 
typedef enum onlp_fan_dir_e onlp_fan_dir_t
 
typedef struct onlp_fan_info_s onlp_fan_info_t
 
+ + + + + +

+Enumerations

enum  onlp_fan_caps_e {
+  ONLP_FAN_CAPS_SET_DIR = (1 << 0), +ONLP_FAN_CAPS_GET_DIR = (1 << 1), +ONLP_FAN_CAPS_SET_RPM = (1 << 2), +ONLP_FAN_CAPS_SET_PERCENTAGE = (1 << 3), +
+  ONLP_FAN_CAPS_GET_RPM = (1 << 4), +ONLP_FAN_CAPS_GET_PERCENTAGE = (1 << 5) +
+ }
 
enum  onlp_fan_dir_e {
+  ONLP_FAN_DIR_UNKNOWN, +ONLP_FAN_DIR_B2F, +ONLP_FAN_DIR_F2B, +ONLP_FAN_DIR_LAST = ONLP_FAN_DIR_F2B, +
+  ONLP_FAN_DIR_COUNT, +ONLP_FAN_DIR_INVALID = -1 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+int onlp_fan_sw_init (void)
 Software Initialization of the Fan module.
 
int onlp_fan_hw_init (uint32_t flags)
 Hardware Initialization of the Fan module. More...
 
int onlp_fan_sw_denit (void)
 Deinitialize the fan software module. More...
 
int onlp_fan_hdr_get (onlp_oid_t id, onlp_oid_hdr_t *hdr)
 Retrieve the fan's OID hdr. More...
 
int onlp_fan_info_get (onlp_oid_t id, onlp_fan_info_t *rv)
 Retrieve fan information. More...
 
int onlp_fan_rpm_set (onlp_oid_t id, int rpm)
 Set the fan speed in RPMs. More...
 
int onlp_fan_percentage_set (onlp_oid_t id, int p)
 Set the fan speed in percentage. More...
 
int onlp_fan_dir_set (onlp_oid_t id, onlp_fan_dir_t dir)
 Set the fan direction. More...
 
int onlp_fan_info_to_user_json (onlp_fan_info_t *info, cJSON **cj, uint32_t flags)
 Convert a fan info structure to user JSON. More...
 
int onlp_fan_info_to_json (onlp_fan_info_t *info, cJSON **cj, uint32_t flags)
 Convert a fan info structure to JSON. More...
 
int onlp_fan_info_from_json (cJSON *cj, onlp_fan_info_t *info)
 Convert a JSON object to a fan info structure. More...
 
const char * onlp_fan_caps_name (onlp_fan_caps_t e)
 
int onlp_fan_caps_value (const char *str, onlp_fan_caps_t *e, int substr)
 
const char * onlp_fan_caps_desc (onlp_fan_caps_t e)
 
int onlp_fan_caps_valid (onlp_fan_caps_t e)
 
const char * onlp_fan_dir_name (onlp_fan_dir_t e)
 
int onlp_fan_dir_value (const char *str, onlp_fan_dir_t *e, int substr)
 
const char * onlp_fan_dir_desc (onlp_fan_dir_t e)
 
+ + + + + + + + + +

+Variables

aim_map_si_t onlp_fan_caps_map []
 
aim_map_si_t onlp_fan_caps_desc_map []
 
aim_map_si_t onlp_fan_dir_map []
 
aim_map_si_t onlp_fan_dir_desc_map []
 
+

Detailed Description

+

Fan Management.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/fan_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/fan_8h_source.html new file mode 100644 index 00000000..34eafc70 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/fan_8h_source.html @@ -0,0 +1,283 @@ + + + + + + +ONLP: module/inc/onlp/fan.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
fan.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
28 #ifndef __ONLP_FAN_H__
+
29 #define __ONLP_FAN_H__
+
30 
+
31 #include <onlp/oids.h>
+
32 #include <onlp/onlp.h>
+
33 
+
34 #include <BigList/biglist.h>
+
35 
+
36 /* <auto.start.enum(tag:fan).define> */
+
38 typedef enum onlp_fan_caps_e {
+
39  ONLP_FAN_CAPS_SET_DIR = (1 << 0),
+
40  ONLP_FAN_CAPS_GET_DIR = (1 << 1),
+
41  ONLP_FAN_CAPS_SET_RPM = (1 << 2),
+
42  ONLP_FAN_CAPS_SET_PERCENTAGE = (1 << 3),
+
43  ONLP_FAN_CAPS_GET_RPM = (1 << 4),
+
44  ONLP_FAN_CAPS_GET_PERCENTAGE = (1 << 5),
+ +
46 
+
48 typedef enum onlp_fan_dir_e {
+
49  ONLP_FAN_DIR_UNKNOWN,
+
50  ONLP_FAN_DIR_B2F,
+
51  ONLP_FAN_DIR_F2B,
+
52  ONLP_FAN_DIR_LAST = ONLP_FAN_DIR_F2B,
+
53  ONLP_FAN_DIR_COUNT,
+
54  ONLP_FAN_DIR_INVALID = -1,
+ +
56 /* <auto.end.enum(tag:fan).define> */
+
57 
+
61 typedef struct onlp_fan_info_s {
+ +
64 
+ +
67 
+
69  uint32_t caps;
+
70 
+
72  int rpm;
+
73 
+ +
76 
+ +
79 
+ +
82 
+ +
84 
+
88 #define ONLP_FAN_INFO_CAP_IS_SET(_pinfo, _name) \
+
89  ((_pinfo)->caps & ONLP_FAN_CAPS_##_name)
+
90 
+
94 int onlp_fan_sw_init(void);
+
95 
+
100 int onlp_fan_hw_init(uint32_t flags);
+
101 
+
108 int onlp_fan_sw_denit(void);
+
109 
+
115 int onlp_fan_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* hdr);
+
116 
+
122 int onlp_fan_info_get(onlp_oid_t id, onlp_fan_info_t* rv);
+
123 
+
130 int onlp_fan_rpm_set(onlp_oid_t id, int rpm);
+
131 
+
138 int onlp_fan_percentage_set(onlp_oid_t id, int p);
+
139 
+
146 int onlp_fan_dir_set(onlp_oid_t id, onlp_fan_dir_t dir);
+
147 
+
154 int onlp_fan_info_to_user_json(onlp_fan_info_t* info, cJSON** cj,
+
155  uint32_t flags);
+
156 
+
163 int onlp_fan_info_to_json(onlp_fan_info_t* info, cJSON** cj, uint32_t flags);
+
164 
+
170 int onlp_fan_info_from_json(cJSON* cj, onlp_fan_info_t* info);
+
171 
+
172 
+
174 #define ONLP_FAN_STATUS_PRESENT(_fi) ((_fi).hdr.status & ONLP_OID_STATUS.PRESENT)
+
175 
+
177 #define ONLP_FAN_STATUS_MISSING(_fi) (!ONLP_FAN_INFO_PRESENT(_fi))
+
178 
+
180 #define ONLP_FAN_STATUS_FAILED(_fi) ( (_fi).hdr.status & ONLP_OID_STATUS.FAILED)
+
181 
+
183 #define ONLP_FAN_STATUS_NORMAL(_fi) ( ONLP_FAN_STATUS_PRESENT(_fi) && !ONLP_FAN_STATUS_FAILED(_fi) )
+
184 
+
185 
+
186 /******************************************************************************
+
187  *
+
188  * Enumeration Support Definitions.
+
189  *
+
190  * Please do not add additional code beyond this point.
+
191  *
+
192  *****************************************************************************/
+
193 /* <auto.start.enum(tag:fan).supportheader> */
+
195 const char* onlp_fan_caps_name(onlp_fan_caps_t e);
+
196 
+
198 int onlp_fan_caps_value(const char* str, onlp_fan_caps_t* e, int substr);
+
199 
+
201 const char* onlp_fan_caps_desc(onlp_fan_caps_t e);
+
202 
+ +
205 
+
207 #define ONLP_FAN_CAPS_VALID(_e) \
+
208  (onlp_fan_caps_valid((_e)))
+
209 
+
211 extern aim_map_si_t onlp_fan_caps_map[];
+
213 extern aim_map_si_t onlp_fan_caps_desc_map[];
+
214 
+
216 #define ONLP_FAN_DIR_STRINGS \
+
217 {\
+
218  "UNKNOWN", \
+
219  "B2F", \
+
220  "F2B", \
+
221 }
+
222 
+
223 const char* onlp_fan_dir_name(onlp_fan_dir_t e);
+
224 
+
226 int onlp_fan_dir_value(const char* str, onlp_fan_dir_t* e, int substr);
+
227 
+
229 const char* onlp_fan_dir_desc(onlp_fan_dir_t e);
+
230 
+
232 #define ONLP_FAN_DIR_VALID(_e) \
+
233  ( (0 <= (_e)) && ((_e) <= ONLP_FAN_DIR_F2B))
+
234 
+
236 extern aim_map_si_t onlp_fan_dir_map[];
+
238 extern aim_map_si_t onlp_fan_dir_desc_map[];
+
239 /* <auto.end.enum(tag:fan).supportheader> */
+
240 
+
241 
+
242 #endif /* __ONLP_FAN_H__ */
+
243 /* @} */
+
char serial[ONLP_CONFIG_INFO_STR_MAX]
Definition: fan.h:81
+
struct onlp_fan_info_s onlp_fan_info_t
+
enum onlp_fan_caps_e onlp_fan_caps_t
+
int onlp_fan_rpm_set(onlp_oid_t id, int rpm)
Set the fan speed in RPMs.
+
onlp_oid_hdr_t hdr
Definition: fan.h:63
+
int onlp_fan_info_from_json(cJSON *cj, onlp_fan_info_t *info)
Convert a JSON object to a fan info structure.
+
Definition: fan.h:61
+
onlp_fan_dir_t dir
Definition: fan.h:66
+
int percentage
Definition: fan.h:75
+
int onlp_fan_info_get(onlp_oid_t id, onlp_fan_info_t *rv)
Retrieve fan information.
+
int onlp_fan_percentage_set(onlp_oid_t id, int p)
Set the fan speed in percentage.
+
const char * onlp_fan_caps_name(onlp_fan_caps_t e)
+
aim_map_si_t onlp_fan_caps_map[]
+
onlp_fan_dir_e
Definition: fan.h:48
+
int onlp_fan_dir_value(const char *str, onlp_fan_dir_t *e, int substr)
+
int onlp_fan_info_to_json(onlp_fan_info_t *info, cJSON **cj, uint32_t flags)
Convert a fan info structure to JSON.
+
int onlp_fan_info_to_user_json(onlp_fan_info_t *info, cJSON **cj, uint32_t flags)
Convert a fan info structure to user JSON.
+
int onlp_fan_sw_denit(void)
Deinitialize the fan software module.
+
#define ONLP_CONFIG_INFO_STR_MAX
Definition: onlp_config.h:218
+
int onlp_fan_sw_init(void)
Software Initialization of the Fan module.
+
onlp_fan_caps_e
Definition: fan.h:38
+
const char * onlp_fan_dir_desc(onlp_fan_dir_t e)
+
aim_map_si_t onlp_fan_dir_map[]
+
int onlp_fan_dir_set(onlp_oid_t id, onlp_fan_dir_t dir)
Set the fan direction.
+
char model[ONLP_CONFIG_INFO_STR_MAX]
Definition: fan.h:78
+
enum onlp_fan_dir_e onlp_fan_dir_t
+
const char * onlp_fan_caps_desc(onlp_fan_caps_t e)
+
int onlp_fan_caps_value(const char *str, onlp_fan_caps_t *e, int substr)
+
uint32_t caps
Definition: fan.h:69
+
int onlp_fan_hw_init(uint32_t flags)
Hardware Initialization of the Fan module.
+
aim_map_si_t onlp_fan_dir_desc_map[]
+
Definition: oids.h:212
+
const char * onlp_fan_dir_name(onlp_fan_dir_t e)
+
aim_map_si_t onlp_fan_caps_desc_map[]
+
int onlp_fan_hdr_get(onlp_oid_t id, onlp_oid_hdr_t *hdr)
Retrieve the fan's OID hdr.
+
int rpm
Definition: fan.h:72
+
int onlp_fan_caps_valid(onlp_fan_caps_t e)
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/fani_8h.html b/packages/base/any/onlp/src/onlp/doc/html/fani_8h.html new file mode 100644 index 00000000..241245ed --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/fani_8h.html @@ -0,0 +1,139 @@ + + + + + + +ONLP: module/inc/onlp/platformi/fani.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
fani.h File Reference
+
+
+ +

Fan Platform Implementation. +More...

+
#include <onlp/fan.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+int onlp_fani_sw_init (void)
 Software initialization of the Fan module.
 
int onlp_fani_hw_init (uint32_t flags)
 Hardware initialization of the Fan module. More...
 
int onlp_fani_sw_denit (void)
 Deinitialize the fan software module. More...
 
int onlp_fani_hdr_get (onlp_oid_id_t id, onlp_oid_hdr_t *hdr)
 Retrieve the fan's OID hdr. More...
 
int onlp_fani_info_get (onlp_oid_id_t id, onlp_fan_info_t *rv)
 Get the information structure for the given fan OID. More...
 
int onlp_fani_rpm_set (onlp_oid_id_t id, int rpm)
 Set the fan speed in RPM. More...
 
int onlp_fani_percentage_set (onlp_oid_id_t id, int p)
 Set the fan speed in percentage. More...
 
int onlp_fani_dir_set (onlp_oid_id_t id, onlp_fan_dir_t dir)
 Set the fan direction (if supported). More...
 
+

Detailed Description

+

Fan Platform Implementation.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/fani_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/fani_8h_source.html new file mode 100644 index 00000000..ed65ed18 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/fani_8h_source.html @@ -0,0 +1,157 @@ + + + + + + +ONLP: module/inc/onlp/platformi/fani.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
fani.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
28 #ifndef __ONLP_FANI_H__
+
29 #define __ONLP_FANI_H__
+
30 
+
31 #include <onlp/fan.h>
+
32 
+
36 int onlp_fani_sw_init(void);
+
37 
+
42 int onlp_fani_hw_init(uint32_t flags);
+
43 
+
50 int onlp_fani_sw_denit(void);
+
51 
+
57 int onlp_fani_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr);
+
58 
+
64 int onlp_fani_info_get(onlp_oid_id_t id, onlp_fan_info_t* rv);
+
65 
+
72 int onlp_fani_rpm_set(onlp_oid_id_t id, int rpm);
+
73 
+
74 
+
81 int onlp_fani_percentage_set(onlp_oid_id_t id, int p);
+
82 
+
88 int onlp_fani_dir_set(onlp_oid_id_t id, onlp_fan_dir_t dir);
+
89 
+
90 
+
91 #endif /* __ONLP_FANI_H__ */
+
92 /* @} */
+
int onlp_fani_dir_set(onlp_oid_id_t id, onlp_fan_dir_t dir)
Set the fan direction (if supported).
+
int onlp_fani_info_get(onlp_oid_id_t id, onlp_fan_info_t *rv)
Get the information structure for the given fan OID.
+
Definition: fan.h:61
+
int onlp_fani_hw_init(uint32_t flags)
Hardware initialization of the Fan module.
+
int onlp_fani_rpm_set(onlp_oid_id_t id, int rpm)
Set the fan speed in RPM.
+
Fan Management.
+
int onlp_fani_sw_init(void)
Software initialization of the Fan module.
+
int onlp_fani_sw_denit(void)
Deinitialize the fan software module.
+
int onlp_fani_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t *hdr)
Retrieve the fan's OID hdr.
+
enum onlp_fan_dir_e onlp_fan_dir_t
+
int onlp_fani_percentage_set(onlp_oid_id_t id, int p)
Set the fan speed in percentage.
+
Definition: oids.h:212
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/files.html b/packages/base/any/onlp/src/onlp/doc/html/files.html new file mode 100644 index 00000000..b32873e7 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/files.html @@ -0,0 +1,131 @@ + + + + + + +ONLP: File List + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 12345]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  module
  inc
  onlp
  platformi
 attributei.h
 base.h
 chassisi.hChassis Platform Interface
 debugi.h
 fani.hFan Platform Implementation
 ledi.h
 platformi.h
 psui.hPower Supply Management Implementation
 sfpi.hSFP Platform Implementation Interface. This interface must be implemented and available for all platforms that support SFP interfaces
 thermali.hThermal Sensor Platform Implementation
 attribute.hAttributes
 chassis.hChassis OID Interface
 debug.h
 fan.hFan Management
 generic.hGeneric OID Interface
 led.h
 module.hModule OID Interface
 oids.h
 onlp.h
 onlp_config.hOnlp Configuration Header
 onlp_dox.h
 onlp_porting.hOnlp Porting Macros
 platform.h
 psu.hPower Supply Management
 sfp.hSFP Management Interface
 stdattrs.hStandard OID Attributes
 thermal.hThermal Sensor Management
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/ftv2blank.png b/packages/base/any/onlp/src/onlp/doc/html/ftv2blank.png new file mode 100644 index 00000000..63c605bb Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/ftv2blank.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/ftv2doc.png b/packages/base/any/onlp/src/onlp/doc/html/ftv2doc.png new file mode 100644 index 00000000..17edabff Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/ftv2doc.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/ftv2folderclosed.png b/packages/base/any/onlp/src/onlp/doc/html/ftv2folderclosed.png new file mode 100644 index 00000000..bb8ab35e Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/ftv2folderclosed.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/ftv2folderopen.png b/packages/base/any/onlp/src/onlp/doc/html/ftv2folderopen.png new file mode 100644 index 00000000..d6c7f676 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/ftv2folderopen.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/ftv2lastnode.png b/packages/base/any/onlp/src/onlp/doc/html/ftv2lastnode.png new file mode 100644 index 00000000..63c605bb Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/ftv2lastnode.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/ftv2link.png b/packages/base/any/onlp/src/onlp/doc/html/ftv2link.png new file mode 100644 index 00000000..17edabff Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/ftv2link.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/ftv2mlastnode.png b/packages/base/any/onlp/src/onlp/doc/html/ftv2mlastnode.png new file mode 100644 index 00000000..0b63f6d3 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/ftv2mlastnode.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/ftv2mnode.png b/packages/base/any/onlp/src/onlp/doc/html/ftv2mnode.png new file mode 100644 index 00000000..0b63f6d3 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/ftv2mnode.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/ftv2node.png b/packages/base/any/onlp/src/onlp/doc/html/ftv2node.png new file mode 100644 index 00000000..63c605bb Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/ftv2node.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/ftv2plastnode.png b/packages/base/any/onlp/src/onlp/doc/html/ftv2plastnode.png new file mode 100644 index 00000000..c6ee22f9 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/ftv2plastnode.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/ftv2pnode.png b/packages/base/any/onlp/src/onlp/doc/html/ftv2pnode.png new file mode 100644 index 00000000..c6ee22f9 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/ftv2pnode.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/ftv2splitbar.png b/packages/base/any/onlp/src/onlp/doc/html/ftv2splitbar.png new file mode 100644 index 00000000..fe895f2c Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/ftv2splitbar.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/ftv2vertline.png b/packages/base/any/onlp/src/onlp/doc/html/ftv2vertline.png new file mode 100644 index 00000000..63c605bb Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/ftv2vertline.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/functions.html b/packages/base/any/onlp/src/onlp/doc/html/functions.html new file mode 100644 index 00000000..54cd8893 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/functions.html @@ -0,0 +1,334 @@ + + + + + + +ONLP: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- f -

+ + +

- h -

+ + +

- i -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- v -

+ + +

- w -

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/functions_vars.html b/packages/base/any/onlp/src/onlp/doc/html/functions_vars.html new file mode 100644 index 00000000..15ba8993 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/functions_vars.html @@ -0,0 +1,334 @@ + + + + + + +ONLP: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+  + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- f -

+ + +

- h -

+ + +

- i -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- v -

+ + +

- w -

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/generic_8h.html b/packages/base/any/onlp/src/onlp/doc/html/generic_8h.html new file mode 100644 index 00000000..d40c1c63 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/generic_8h.html @@ -0,0 +1,157 @@ + + + + + + +ONLP: module/inc/onlp/generic.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
generic.h File Reference
+
+
+ +

Generic OID Interface. +More...

+
#include <onlp/onlp_config.h>
+#include <onlp/onlp.h>
+#include <onlplib/onie.h>
+#include <onlplib/pi.h>
+#include <onlp/oids.h>
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  onlp_generic_info_s
 Generic OID Information Structure. More...
 
+ + + + +

+Typedefs

+typedef struct onlp_generic_info_s onlp_generic_info_t
 Generic OID Information Structure.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int onlp_generic_sw_init (void)
 Initialize the module software module. More...
 
int onlp_generic_hw_init (uint32_t flags)
 Initialize the module. More...
 
int onlp_generic_sw_denit (void)
 Deinitialize the generic software module. More...
 
int onlp_generic_hdr_get (onlp_oid_t oid, onlp_oid_hdr_t *hdr)
 Get the generic header structure. More...
 
int onlp_generic_info_get (onlp_oid_t oid, onlp_generic_info_t *info)
 Get the module info structure. More...
 
int onlp_generic_info_to_user_json (onlp_generic_info_t *info, cJSON **cj, uint32_t flags)
 Convert a generic info structure to user JSON. More...
 
int onlp_generic_info_to_json (onlp_generic_info_t *info, cJSON **cj, uint32_t flags)
 Convert a generic info structure to JSON. More...
 
int onlp_generic_info_from_json (cJSON *cj, onlp_generic_info_t *info)
 Convert a JSON object to a generic info structure. More...
 
+

Detailed Description

+

Generic OID Interface.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/generic_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/generic_8h_source.html new file mode 100644 index 00000000..9aa442e3 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/generic_8h_source.html @@ -0,0 +1,167 @@ + + + + + + +ONLP: module/inc/onlp/generic.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
generic.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
29 #ifndef __ONLP_GENERIC_H__
+
30 #define __ONLP_GENERIC_H__
+
31 
+
32 #include <onlp/onlp_config.h>
+
33 #include <onlp/onlp.h>
+
34 #include <onlplib/onie.h>
+
35 #include <onlplib/pi.h>
+
36 #include <onlp/oids.h>
+
37 
+
41 typedef struct onlp_generic_info_s {
+ +
44 
+
45  /* Generic objects have no dedicated fields. */
+
46 
+ +
48 
+
54 int onlp_generic_sw_init(void);
+
55 
+
60 int onlp_generic_hw_init(uint32_t flags);
+
61 
+
68 int onlp_generic_sw_denit(void);
+
69 
+
75 int onlp_generic_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* hdr);
+
76 
+
82 int onlp_generic_info_get(onlp_oid_t oid, onlp_generic_info_t* info);
+
83 
+
90 int onlp_generic_info_to_user_json(onlp_generic_info_t* info, cJSON** cj, uint32_t flags);
+
91 
+
98 int onlp_generic_info_to_json(onlp_generic_info_t* info, cJSON** cj, uint32_t flags);
+
99 
+ +
106 
+
107 #endif /* __ONLP_GENERIC_H_ */
+
108 /* @} */
+
onlp Configuration Header
+
int onlp_generic_sw_init(void)
Initialize the module software module.
+
struct onlp_generic_info_s onlp_generic_info_t
Generic OID Information Structure.
+
int onlp_generic_info_to_user_json(onlp_generic_info_t *info, cJSON **cj, uint32_t flags)
Convert a generic info structure to user JSON.
+
int onlp_generic_info_get(onlp_oid_t oid, onlp_generic_info_t *info)
Get the module info structure.
+
onlp_oid_hdr_t hdr
Definition: generic.h:43
+
Generic OID Information Structure.
Definition: generic.h:41
+
int onlp_generic_sw_denit(void)
Deinitialize the generic software module.
+
int onlp_generic_hw_init(uint32_t flags)
Initialize the module.
+
int onlp_generic_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t *hdr)
Get the generic header structure.
+
int onlp_generic_info_to_json(onlp_generic_info_t *info, cJSON **cj, uint32_t flags)
Convert a generic info structure to JSON.
+
Definition: oids.h:212
+
int onlp_generic_info_from_json(cJSON *cj, onlp_generic_info_t *info)
Convert a JSON object to a generic info structure.
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/globals.html b/packages/base/any/onlp/src/onlp/doc/html/globals.html new file mode 100644 index 00000000..9cb6f6c6 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/globals.html @@ -0,0 +1,948 @@ + + + + + + +ONLP: Globals + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- o -

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/globals_defs.html b/packages/base/any/onlp/src/onlp/doc/html/globals_defs.html new file mode 100644 index 00000000..017e2d8b --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/globals_defs.html @@ -0,0 +1,267 @@ + + + + + + +ONLP: Globals + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/globals_enum.html b/packages/base/any/onlp/src/onlp/doc/html/globals_enum.html new file mode 100644 index 00000000..5d0dbd2d --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/globals_enum.html @@ -0,0 +1,131 @@ + + + + + + +ONLP: Globals + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/globals_func.html b/packages/base/any/onlp/src/onlp/doc/html/globals_func.html new file mode 100644 index 00000000..4a1ae2d6 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/globals_func.html @@ -0,0 +1,651 @@ + + + + + + +ONLP: Globals + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/globals_type.html b/packages/base/any/onlp/src/onlp/doc/html/globals_type.html new file mode 100644 index 00000000..fcbdb2c6 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/globals_type.html @@ -0,0 +1,161 @@ + + + + + + +ONLP: Globals + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/globals_vars.html b/packages/base/any/onlp/src/onlp/doc/html/globals_vars.html new file mode 100644 index 00000000..6b8a82da --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/globals_vars.html @@ -0,0 +1,161 @@ + + + + + + +ONLP: Globals + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__assets.html b/packages/base/any/onlp/src/onlp/doc/html/group__assets.html new file mode 100644 index 00000000..fdaa65a8 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__assets.html @@ -0,0 +1,90 @@ + + + + + + +ONLP: Asset Interface + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__attributes.html b/packages/base/any/onlp/src/onlp/doc/html/group__attributes.html new file mode 100644 index 00000000..2e27f7f9 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__attributes.html @@ -0,0 +1,722 @@ + + + + + + +ONLP: Attribute Interface + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + + +

+Macros

+#define ONLP_ATTRIBUTE_EQUALS(_a, _b)   (!strcmp(_a, _b))
 Attribute comparitor.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int onlp_attribute_sw_init (void)
 Initialize the attribute subsystem. More...
 
int onlp_attribute_hw_init (uint32_t flags)
 Hardware initialization of the attribute subsystem. More...
 
int onlp_attribute_supported (onlp_oid_t oid, const char *attribute)
 Determine whether the OID supports the given attribute. More...
 
int onlp_attribute_set (onlp_oid_t oid, const char *attribute, void *value)
 Set an attribute on the given OID. More...
 
int onlp_attribute_get (onlp_oid_t oid, const char *attribute, void **value)
 Get an attribute from the given OID. More...
 
int onlp_attribute_free (onlp_oid_t oid, const char *attribute, void *value)
 Free an attribute value returned from onlp_attribute_get(). More...
 
int onlp_attribute_onie_info_get (onlp_oid_t oid, onlp_onie_info_t **rp)
 Request the ONIE attribute. More...
 
int onlp_attribute_onie_info_free (onlp_oid_t oid, onlp_onie_info_t *p)
 Free an ONIE attribute pointer. More...
 
int onlp_attribute_onie_info_get_json (onlp_oid_t oid, cJSON **rp)
 Request the ONIE attribute in JSON. More...
 
int onlp_attribute_onie_info_show (onlp_oid_t oid, aim_pvs_t *pvs)
 Show the ONIE attribute. More...
 
int onlp_attribute_onie_info_show_json (onlp_oid_t oid, aim_pvs_t *pvs)
 Show the ONIE attribute (JSON) More...
 
int onlp_attribute_asset_info_get (onlp_oid_t oid, onlp_asset_info_t **rp)
 Determine if the ONIE attribute is supported. More...
 
int onlp_attribute_asset_info_free (onlp_oid_t oid, onlp_asset_info_t *p)
 Free an asset attribute pointer. More...
 
int onlp_attribute_asset_info_get_json (onlp_oid_t oid, cJSON **rp)
 Request the asset attribute in JSON. More...
 
int onlp_attribute_asset_info_show (onlp_oid_t oid, aim_pvs_t *pvs)
 Show the asset attribute. More...
 
int onlp_attribute_asset_info_show_json (onlp_oid_t oid, aim_pvs_t *pvs)
 Show the asset attribute (JSON). More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_attribute_asset_info_free (onlp_oid_t oid,
onlp_asset_info_tp 
)
+
+ +

Free an asset attribute pointer.

+
Parameters
+ + + +
oidThe target oid.
pThe asset attribute pointer.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_attribute_asset_info_get (onlp_oid_t oid,
onlp_asset_info_t ** rp 
)
+
+ +

Determine if the ONIE attribute is supported.

+
Parameters
+ + +
oidThe target OID.
+
+
+
Note
Retu Request the asset attribute.
+
Parameters
+ + + +
oidThe target oid.
[out]rpReceives the Asset information structure pointer.
+
+
+
Note
Setting rp to NULL will determine if the attribute is supported.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_attribute_asset_info_get_json (onlp_oid_t oid,
cJSON ** rp 
)
+
+ +

Request the asset attribute in JSON.

+
Parameters
+ + + +
oidThe target oid.
[out]rpReceives the cJSON object.
+
+
+
Note
The cJSON object should be freed after use using cJSON_Delete()
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_attribute_asset_info_show (onlp_oid_t oid,
aim_pvs_t * pvs 
)
+
+ +

Show the asset attribute.

+
Parameters
+ + + +
oidThe target oid.
pvsThe output pvs.
+
+
+
Note
The output format is YAML in human-readable format.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_attribute_asset_info_show_json (onlp_oid_t oid,
aim_pvs_t * pvs 
)
+
+ +

Show the asset attribute (JSON).

+
Parameters
+ + + +
oidThe target oid.
pvsThe output pvs.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_attribute_free (onlp_oid_t oid,
const char * attribute,
void * value 
)
+
+ +

Free an attribute value returned from onlp_attribute_get().

+
Parameters
+ + + + +
oidThe OID.
attributeThe attribute.
valueThe value.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_attribute_get (onlp_oid_t oid,
const char * attribute,
void ** value 
)
+
+ +

Get an attribute from the given OID.

+
Parameters
+ + + + +
oidThe OID.
attributeThe attribute to retrieve.
[out]valueReceives the attribute's value.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_attribute_hw_init (uint32_t flags)
+
+ +

Hardware initialization of the attribute subsystem.

+
Parameters
+ + +
flagsThe initialization flags.
+
+
+
Note
This function will be called once at system startup by the ONLP core. You should not call it.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_attribute_onie_info_free (onlp_oid_t oid,
onlp_onie_info_t * p 
)
+
+ +

Free an ONIE attribute pointer.

+
Parameters
+ + + +
oidThe target OID.
pThe ONIE attribute pointer.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_attribute_onie_info_get (onlp_oid_t oid,
onlp_onie_info_t ** rp 
)
+
+ +

Request the ONIE attribute.

+
Parameters
+ + + +
oidThe target OID.
[out]rpReceives the ONIE information structure pointer.
+
+
+
Note
Setting rp to NULL will determine if the ONIE attribute is supported.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_attribute_onie_info_get_json (onlp_oid_t oid,
cJSON ** rp 
)
+
+ +

Request the ONIE attribute in JSON.

+
Parameters
+ + + +
oidThe target OID.
[out]rpReceives the cJSON object.
+
+
+
Note
The cJSON object should be freed after use using cJSON_Delete().
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_attribute_onie_info_show (onlp_oid_t oid,
aim_pvs_t * pvs 
)
+
+ +

Show the ONIE attribute.

+
Parameters
+ + + +
oidThe target OID.
pvsThe output pvs.
+
+
+
Note
The output is YAML in human-readble format.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_attribute_onie_info_show_json (onlp_oid_t oid,
aim_pvs_t * pvs 
)
+
+ +

Show the ONIE attribute (JSON)

+
Parameters
+ + + +
oidThe target OID.
pvsThe output pvs.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_attribute_set (onlp_oid_t oid,
const char * attribute,
void * value 
)
+
+ +

Set an attribute on the given OID.

+
Parameters
+ + + + +
oidThe OID.
attributeThe attribute name.
valueA pointer to the value.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_attribute_supported (onlp_oid_t oid,
const char * attribute 
)
+
+ +

Determine whether the OID supports the given attribute.

+
Parameters
+ + + +
oidThe OID.
attributeThe attribute name.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_attribute_sw_init (void )
+
+ +

Initialize the attribute subsystem.

+
Note
This function can only perform software module initialization. It cannot affect the state of the hardware.
+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__chassisi.html b/packages/base/any/onlp/src/onlp/doc/html/group__chassisi.html new file mode 100644 index 00000000..f6231085 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__chassisi.html @@ -0,0 +1,227 @@ + + + + + + +ONLP: Chassis + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + +

+Functions

+int onlp_chassisi_sw_init (void)
 Software initializaiton of the Chassis module.
 
int onlp_chassisi_hw_init (uint32_t flags)
 Hardware initializaiton of the Chassis module. More...
 
int onlp_chassisi_sw_denit (void)
 Deinitialize the chassis software module. More...
 
int onlp_chassisi_hdr_get (onlp_oid_id_t id, onlp_oid_hdr_t *hdr)
 Get the chassis hdr structure. More...
 
int onlp_chassisi_info_get (onlp_oid_id_t id, onlp_chassis_info_t *info)
 Get the chassis info structure. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_chassisi_hdr_get (onlp_oid_id_t id,
onlp_oid_hdr_thdr 
)
+
+ +

Get the chassis hdr structure.

+
Parameters
+ + + +
idThe Chassis OID.
[out]hdrReceives the header.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_chassisi_hw_init (uint32_t flags)
+
+ +

Hardware initializaiton of the Chassis module.

+
Parameters
+ + +
flagsThe hardware initialization flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_chassisi_info_get (onlp_oid_id_t id,
onlp_chassis_info_tinfo 
)
+
+ +

Get the chassis info structure.

+
Parameters
+ + + +
idThe Chassis OID.
[out]infoReceives the chassis information.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_chassisi_sw_denit (void )
+
+ +

Deinitialize the chassis software module.

+
Note
The primary purpose of this API is to properly deallocate any resources used by the module in order faciliate detection of real resouce leaks.
+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__fani.html b/packages/base/any/onlp/src/onlp/doc/html/group__fani.html new file mode 100644 index 00000000..989450f3 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__fani.html @@ -0,0 +1,343 @@ + + + + + + +ONLP: Fans + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+int onlp_fani_sw_init (void)
 Software initialization of the Fan module.
 
int onlp_fani_hw_init (uint32_t flags)
 Hardware initialization of the Fan module. More...
 
int onlp_fani_sw_denit (void)
 Deinitialize the fan software module. More...
 
int onlp_fani_hdr_get (onlp_oid_id_t id, onlp_oid_hdr_t *hdr)
 Retrieve the fan's OID hdr. More...
 
int onlp_fani_info_get (onlp_oid_id_t id, onlp_fan_info_t *rv)
 Get the information structure for the given fan OID. More...
 
int onlp_fani_rpm_set (onlp_oid_id_t id, int rpm)
 Set the fan speed in RPM. More...
 
int onlp_fani_percentage_set (onlp_oid_id_t id, int p)
 Set the fan speed in percentage. More...
 
int onlp_fani_dir_set (onlp_oid_id_t id, onlp_fan_dir_t dir)
 Set the fan direction (if supported). More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_fani_dir_set (onlp_oid_id_t id,
onlp_fan_dir_t dir 
)
+
+ +

Set the fan direction (if supported).

+
Parameters
+ + + +
idThe fan OID
dirThe direction.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_fani_hdr_get (onlp_oid_id_t id,
onlp_oid_hdr_thdr 
)
+
+ +

Retrieve the fan's OID hdr.

+
Parameters
+ + + +
idThe fan OID.
[out]hdrReceives the OID header.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_fani_hw_init (uint32_t flags)
+
+ +

Hardware initialization of the Fan module.

+
Parameters
+ + +
flagsThe hardware initialization flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_fani_info_get (onlp_oid_id_t id,
onlp_fan_info_trv 
)
+
+ +

Get the information structure for the given fan OID.

+
Parameters
+ + + +
idThe fan OID
[out]rvReceives the fan information.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_fani_percentage_set (onlp_oid_id_t id,
int p 
)
+
+ +

Set the fan speed in percentage.

+
Parameters
+ + + +
idThe fan OID.
pThe new fan speed percentage.
+
+
+
Note
This is only relevant if the PERCENTAGE capability is set.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_fani_rpm_set (onlp_oid_id_t id,
int rpm 
)
+
+ +

Set the fan speed in RPM.

+
Parameters
+ + + +
idThe fan OID
rpmThe new RPM
+
+
+
Note
This is only relevant if the RPM capability is set.
+ +
+
+ +
+
+ + + + + + + + +
int onlp_fani_sw_denit (void )
+
+ +

Deinitialize the fan software module.

+
Note
The primary purpose of this API is to properly deallocate any resources used by the module in order faciliate detection of real resouce leaks.
+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__module-interfaces.html b/packages/base/any/onlp/src/onlp/doc/html/group__module-interfaces.html new file mode 100644 index 00000000..8e0e2957 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__module-interfaces.html @@ -0,0 +1,101 @@ + + + + + + +ONLP: Module Documentation + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ +
+
Module Documentation
+
+
+ + + + + + +

+Modules

 Compile Time Configuration
 
 Porting Macros
 
+

Detailed Description

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__modulei.html b/packages/base/any/onlp/src/onlp/doc/html/group__modulei.html new file mode 100644 index 00000000..46016b1a --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__modulei.html @@ -0,0 +1,90 @@ + + + + + + +ONLP: Modules + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__oid-chassis.html b/packages/base/any/onlp/src/onlp/doc/html/group__oid-chassis.html new file mode 100644 index 00000000..ed50f066 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__oid-chassis.html @@ -0,0 +1,521 @@ + + + + + + +ONLP: Chassis + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + + +

+Data Structures

struct  onlp_chassis_info_s
 Chassis Information Structure. More...
 
+ + + + +

+Typedefs

+typedef struct onlp_chassis_info_s onlp_chassis_info_t
 Chassis Information Structure.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int onlp_chassis_sw_init (void)
 Initialize the chassis software module. More...
 
int onlp_chassis_hw_init (uint32_t flags)
 Initialize the chassis. More...
 
int onlp_chassis_sw_denit (void)
 Deinitialize the chassis software module. More...
 
int onlp_chassis_hdr_get (onlp_oid_t oid, onlp_oid_hdr_t *hdr)
 Get the Chassis Header structure. More...
 
int onlp_chassis_info_get (onlp_oid_t oid, onlp_chassis_info_t *info)
 Get the chassis info structure. More...
 
int onlp_chassis_info_to_user_json (onlp_chassis_info_t *info, cJSON **cj, uint32_t flags)
 Convert a chassis info structure to user JSON. More...
 
int onlp_chassis_info_to_json (onlp_chassis_info_t *info, cJSON **cj, uint32_t flags)
 Convert a chassis info structure to JSON. More...
 
int onlp_chassis_info_from_json (cJSON *cj, onlp_chassis_info_t *info)
 Convert a JSON object to a chassis info structure. More...
 
int onlp_chassis_environment_to_json (cJSON **cjp, uint32_t flags)
 Get the user or full environmental json data. More...
 
int onlp_chassis_environment_show (aim_pvs_t *pvs, uint32_t flags)
 Show the environmental data. More...
 
int onlp_chassis_debug_get_json (cJSON **rv)
 Construct the Chassis debug JSON object. More...
 
int onlp_chassis_debug_show (aim_pvs_t *pvs)
 Show the Chassis debug information. `*. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + +
int onlp_chassis_debug_get_json (cJSON ** rv)
+
+ +

Construct the Chassis debug JSON object.

+
Parameters
+ + +
[out]rvReceives the JSON object.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_chassis_debug_show (aim_pvs_t * pvs)
+
+ +

Show the Chassis debug information. `*.

+
Parameters
+ + +
pvsThe output pvs.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_chassis_environment_show (aim_pvs_t * pvs,
uint32_t flags 
)
+
+ +

Show the environmental data.

+
Parameters
+ + + +
pvsThe output pvs.
flagsZero or ONLP_OID_JSON_FLAG_TO_USER_JSON only.
+
+
+
Note
See onlp_chassis_environment_to_json()
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_chassis_environment_to_json (cJSON ** cjp,
uint32_t flags 
)
+
+ +

Get the user or full environmental json data.

+
Parameters
+ + + +
[out]cjpReceives the JSON data.
flagsZero or ONLP_OID_JSON_FLAG_TO_USER_JSON only.
+
+
+
Note
This will provide the user view of the environmental data
+

with keys in the following order: Chassis Fans Chassis Thermals Chassis PSUs

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_chassis_hdr_get (onlp_oid_t oid,
onlp_oid_hdr_thdr 
)
+
+ +

Get the Chassis Header structure.

+
Parameters
+ + + +
oidThe Chassis oid.
[out]hdrReceives the hdr.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_chassis_hw_init (uint32_t flags)
+
+ +

Initialize the chassis.

+
Parameters
+ + +
flagsThe initialization flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_chassis_info_from_json (cJSON * cj,
onlp_chassis_info_tinfo 
)
+
+ +

Convert a JSON object to a chassis info structure.

+
Parameters
+ + + +
cjThe JSON object.
[out]infoReceives the chassis info.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_chassis_info_get (onlp_oid_t oid,
onlp_chassis_info_tinfo 
)
+
+ +

Get the chassis info structure.

+
Parameters
+ + + +
oidThe Chassis oid.
[out]info
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_chassis_info_to_json (onlp_chassis_info_tinfo,
cJSON ** cj,
uint32_t flags 
)
+
+ +

Convert a chassis info structure to JSON.

+
Parameters
+ + + + +
infoThe chassis info structure.
[out]cjReceives the JSON object.
flagsThe JSON format flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_chassis_info_to_user_json (onlp_chassis_info_tinfo,
cJSON ** cj,
uint32_t flags 
)
+
+ +

Convert a chassis info structure to user JSON.

+
Parameters
+ + + + +
infoThe chassis info structure.
[out]cjReceives the JSON object.
flagsThe JSON format flags.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_chassis_sw_denit (void )
+
+ +

Deinitialize the chassis software module.

+
Note
The primary purpose of this API is to properly deallocate any resources used by the module in order faciliate detection of real resouce leaks.
+ +
+
+ +
+
+ + + + + + + + +
int onlp_chassis_sw_init (void )
+
+ +

Initialize the chassis software module.

+
Note
This will be called at software initialization time. This should not initialize any hardware.
+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__oid-fan.html b/packages/base/any/onlp/src/onlp/doc/html/group__oid-fan.html new file mode 100644 index 00000000..75de909f --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__oid-fan.html @@ -0,0 +1,954 @@ + + + + + + +ONLP: Fans + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + +

+Data Structures

struct  onlp_fan_info_s
 
+ + + + + + + + + + + + + + + + + + +

+Macros

+#define ONLP_FAN_INFO_CAP_IS_SET(_pinfo, _name)   ((_pinfo)->caps & ONLP_FAN_CAPS_##_name)
 Determine if a fan capability is set.
 
#define ONLP_FAN_STATUS_PRESENT(_fi)   ((_fi).hdr.status & ONLP_OID_STATUS.PRESENT)
 
#define ONLP_FAN_STATUS_MISSING(_fi)   (!ONLP_FAN_INFO_PRESENT(_fi))
 
#define ONLP_FAN_STATUS_FAILED(_fi)   ( (_fi).hdr.status & ONLP_OID_STATUS.FAILED)
 
#define ONLP_FAN_STATUS_NORMAL(_fi)   ( ONLP_FAN_STATUS_PRESENT(_fi) && !ONLP_FAN_STATUS_FAILED(_fi) )
 
#define ONLP_FAN_CAPS_VALID(_e)   (onlp_fan_caps_valid((_e)))
 
#define ONLP_FAN_DIR_STRINGS
 
#define ONLP_FAN_DIR_VALID(_e)   ( (0 <= (_e)) && ((_e) <= ONLP_FAN_DIR_F2B))
 
+ + + + + + + +

+Typedefs

typedef enum onlp_fan_caps_e onlp_fan_caps_t
 
typedef enum onlp_fan_dir_e onlp_fan_dir_t
 
typedef struct onlp_fan_info_s onlp_fan_info_t
 
+ + + + + +

+Enumerations

enum  onlp_fan_caps_e {
+  ONLP_FAN_CAPS_SET_DIR = (1 << 0), +ONLP_FAN_CAPS_GET_DIR = (1 << 1), +ONLP_FAN_CAPS_SET_RPM = (1 << 2), +ONLP_FAN_CAPS_SET_PERCENTAGE = (1 << 3), +
+  ONLP_FAN_CAPS_GET_RPM = (1 << 4), +ONLP_FAN_CAPS_GET_PERCENTAGE = (1 << 5) +
+ }
 
enum  onlp_fan_dir_e {
+  ONLP_FAN_DIR_UNKNOWN, +ONLP_FAN_DIR_B2F, +ONLP_FAN_DIR_F2B, +ONLP_FAN_DIR_LAST = ONLP_FAN_DIR_F2B, +
+  ONLP_FAN_DIR_COUNT, +ONLP_FAN_DIR_INVALID = -1 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+int onlp_fan_sw_init (void)
 Software Initialization of the Fan module.
 
int onlp_fan_hw_init (uint32_t flags)
 Hardware Initialization of the Fan module. More...
 
int onlp_fan_sw_denit (void)
 Deinitialize the fan software module. More...
 
int onlp_fan_hdr_get (onlp_oid_t id, onlp_oid_hdr_t *hdr)
 Retrieve the fan's OID hdr. More...
 
int onlp_fan_info_get (onlp_oid_t id, onlp_fan_info_t *rv)
 Retrieve fan information. More...
 
int onlp_fan_rpm_set (onlp_oid_t id, int rpm)
 Set the fan speed in RPMs. More...
 
int onlp_fan_percentage_set (onlp_oid_t id, int p)
 Set the fan speed in percentage. More...
 
int onlp_fan_dir_set (onlp_oid_t id, onlp_fan_dir_t dir)
 Set the fan direction. More...
 
int onlp_fan_info_to_user_json (onlp_fan_info_t *info, cJSON **cj, uint32_t flags)
 Convert a fan info structure to user JSON. More...
 
int onlp_fan_info_to_json (onlp_fan_info_t *info, cJSON **cj, uint32_t flags)
 Convert a fan info structure to JSON. More...
 
int onlp_fan_info_from_json (cJSON *cj, onlp_fan_info_t *info)
 Convert a JSON object to a fan info structure. More...
 
const char * onlp_fan_caps_name (onlp_fan_caps_t e)
 
int onlp_fan_caps_value (const char *str, onlp_fan_caps_t *e, int substr)
 
const char * onlp_fan_caps_desc (onlp_fan_caps_t e)
 
int onlp_fan_caps_valid (onlp_fan_caps_t e)
 
const char * onlp_fan_dir_name (onlp_fan_dir_t e)
 
int onlp_fan_dir_value (const char *str, onlp_fan_dir_t *e, int substr)
 
const char * onlp_fan_dir_desc (onlp_fan_dir_t e)
 
+ + + + + + + + + +

+Variables

aim_map_si_t onlp_fan_caps_map []
 
aim_map_si_t onlp_fan_caps_desc_map []
 
aim_map_si_t onlp_fan_dir_map []
 
aim_map_si_t onlp_fan_dir_desc_map []
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define ONLP_FAN_CAPS_VALID( _e)   (onlp_fan_caps_valid((_e)))
+
+

validator

+ +
+
+ +
+
+ + + + +
#define ONLP_FAN_DIR_STRINGS
+
+Value:
{\
+
"UNKNOWN", \
+
"B2F", \
+
"F2B", \
+
}
+

Strings macro.

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_FAN_DIR_VALID( _e)   ( (0 <= (_e)) && ((_e) <= ONLP_FAN_DIR_F2B))
+
+

validator

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_FAN_STATUS_FAILED( _fi)   ( (_fi).hdr.status & ONLP_OID_STATUS.FAILED)
+
+

Fan has failed.

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_FAN_STATUS_MISSING( _fi)   (!ONLP_FAN_INFO_PRESENT(_fi))
+
+

Fan is missing.

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_FAN_STATUS_NORMAL( _fi)   ( ONLP_FAN_STATUS_PRESENT(_fi) && !ONLP_FAN_STATUS_FAILED(_fi) )
+
+

Fan is operating normally

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_FAN_STATUS_PRESENT( _fi)   ((_fi).hdr.status & ONLP_OID_STATUS.PRESENT)
+
+

Fan is present.

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef enum onlp_fan_caps_e onlp_fan_caps_t
+
+

onlp_fan_caps

+ +
+
+ +
+
+ + + + +
typedef enum onlp_fan_dir_e onlp_fan_dir_t
+
+

onlp_fan_dir

+ +
+
+ +
+
+ + + + +
typedef struct onlp_fan_info_s onlp_fan_info_t
+
+

Fan information structure.

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum onlp_fan_caps_e
+
+

onlp_fan_caps

+ +
+
+ +
+
+ + + + +
enum onlp_fan_dir_e
+
+

onlp_fan_dir

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
const char* onlp_fan_caps_desc (onlp_fan_caps_t e)
+
+

Enum descriptions.

+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_fan_caps_name (onlp_fan_caps_t e)
+
+

Enum names.

+ +
+
+ +
+
+ + + + + + + + +
int onlp_fan_caps_valid (onlp_fan_caps_t e)
+
+

Enum validator.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_fan_caps_value (const char * str,
onlp_fan_caps_te,
int substr 
)
+
+

Enum values.

+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_fan_dir_desc (onlp_fan_dir_t e)
+
+

Enum descriptions.

+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_fan_dir_name (onlp_fan_dir_t e)
+
+

Enum names.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_fan_dir_set (onlp_oid_t id,
onlp_fan_dir_t dir 
)
+
+ +

Set the fan direction.

+
Parameters
+ + + +
idThe fan OID.
dirThe fan direction (B2F or F2B)
+
+
+
Note
Only called if both capabilities are set.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_fan_dir_value (const char * str,
onlp_fan_dir_te,
int substr 
)
+
+

Enum values.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_fan_hdr_get (onlp_oid_t id,
onlp_oid_hdr_thdr 
)
+
+ +

Retrieve the fan's OID hdr.

+
Parameters
+ + + +
idThe fan OID.
[out]hdrReceives the OID header.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_fan_hw_init (uint32_t flags)
+
+ +

Hardware Initialization of the Fan module.

+
Parameters
+ + +
flagsThe hardware initialization flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_fan_info_from_json (cJSON * cj,
onlp_fan_info_tinfo 
)
+
+ +

Convert a JSON object to a fan info structure.

+
Parameters
+ + + +
cjThe JSON object.
[out]infoRecieves the fan info structure.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_fan_info_get (onlp_oid_t id,
onlp_fan_info_trv 
)
+
+ +

Retrieve fan information.

+
Parameters
+ + + +
idThe fan OID.
[out]rvReceives the fan information.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_fan_info_to_json (onlp_fan_info_tinfo,
cJSON ** cj,
uint32_t flags 
)
+
+ +

Convert a fan info structure to JSON.

+
Parameters
+ + + + +
infoThe fan info structure.
[out]cjReceives the JSON object.
flagsThe JSON format flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_fan_info_to_user_json (onlp_fan_info_tinfo,
cJSON ** cj,
uint32_t flags 
)
+
+ +

Convert a fan info structure to user JSON.

+
Parameters
+ + + + +
infoThe fan info structure.
[out]cjReceives the JSON object.
flagsThe JSON format flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_fan_percentage_set (onlp_oid_t id,
int p 
)
+
+ +

Set the fan speed in percentage.

+
Parameters
+ + + +
idThe fan OID.
pThe percentage.
+
+
+
Note
Only valid if the fan has the SET_PERCENTAGE capability.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_fan_rpm_set (onlp_oid_t id,
int rpm 
)
+
+ +

Set the fan speed in RPMs.

+
Parameters
+ + + +
idThe fan OID.
rpmThe new RPM.
+
+
+
Note
Only valid if the fan has the SET_RPM capability.
+ +
+
+ +
+
+ + + + + + + + +
int onlp_fan_sw_denit (void )
+
+ +

Deinitialize the fan software module.

+
Note
The primary purpose of this API is to properly deallocate any resources used by the module in order faciliate detection of real resouce leaks.
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
aim_map_si_t onlp_fan_caps_desc_map[]
+
+

onlp_fan_caps_desc_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_fan_caps_map[]
+
+

onlp_fan_caps_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_fan_dir_desc_map[]
+
+

onlp_fan_dir_desc_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_fan_dir_map[]
+
+

onlp_fan_dir_map table.

+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__oid-generic.html b/packages/base/any/onlp/src/onlp/doc/html/group__oid-generic.html new file mode 100644 index 00000000..6c6112bb --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__oid-generic.html @@ -0,0 +1,388 @@ + + + + + + +ONLP: Generics + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + + +

+Data Structures

struct  onlp_generic_info_s
 Generic OID Information Structure. More...
 
+ + + + +

+Typedefs

+typedef struct onlp_generic_info_s onlp_generic_info_t
 Generic OID Information Structure.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int onlp_generic_sw_init (void)
 Initialize the module software module. More...
 
int onlp_generic_hw_init (uint32_t flags)
 Initialize the module. More...
 
int onlp_generic_sw_denit (void)
 Deinitialize the generic software module. More...
 
int onlp_generic_hdr_get (onlp_oid_t oid, onlp_oid_hdr_t *hdr)
 Get the generic header structure. More...
 
int onlp_generic_info_get (onlp_oid_t oid, onlp_generic_info_t *info)
 Get the module info structure. More...
 
int onlp_generic_info_to_user_json (onlp_generic_info_t *info, cJSON **cj, uint32_t flags)
 Convert a generic info structure to user JSON. More...
 
int onlp_generic_info_to_json (onlp_generic_info_t *info, cJSON **cj, uint32_t flags)
 Convert a generic info structure to JSON. More...
 
int onlp_generic_info_from_json (cJSON *cj, onlp_generic_info_t *info)
 Convert a JSON object to a generic info structure. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_generic_hdr_get (onlp_oid_t oid,
onlp_oid_hdr_thdr 
)
+
+ +

Get the generic header structure.

+
Parameters
+ + + +
oidThe Generic oid.
[out]hdrReceives the header.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_generic_hw_init (uint32_t flags)
+
+ +

Initialize the module.

+
Parameters
+ + +
flagsThe initialization flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_generic_info_from_json (cJSON * cj,
onlp_generic_info_tinfo 
)
+
+ +

Convert a JSON object to a generic info structure.

+
Parameters
+ + + +
cjThe JSON object.
[out]infoReceives the generic info structure.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_generic_info_get (onlp_oid_t oid,
onlp_generic_info_tinfo 
)
+
+ +

Get the module info structure.

+
Parameters
+ + + +
oidThe Generic oid.
[out]info
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_generic_info_to_json (onlp_generic_info_tinfo,
cJSON ** cj,
uint32_t flags 
)
+
+ +

Convert a generic info structure to JSON.

+
Parameters
+ + + + +
infoThe generic info structure.
[out]cjReceives the JSON object.
flagsThe JSON format flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_generic_info_to_user_json (onlp_generic_info_tinfo,
cJSON ** cj,
uint32_t flags 
)
+
+ +

Convert a generic info structure to user JSON.

+
Parameters
+ + + + +
infoThe generic info structure.
[out]cjReceives the JSON object.
flagsThe JSON format flags.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_generic_sw_denit (void )
+
+ +

Deinitialize the generic software module.

+
Note
The primary purpose of this API is to properly deallocate any resources used by the module in order faciliate detection of real resouce leaks.
+ +
+
+ +
+
+ + + + + + + + +
int onlp_generic_sw_init (void )
+
+ +

Initialize the module software module.

+
Note
This will be called at software initialization time. This should not initialize any hardware.
+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__oid-interfaces.html b/packages/base/any/onlp/src/onlp/doc/html/group__oid-interfaces.html new file mode 100644 index 00000000..70dc53b0 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__oid-interfaces.html @@ -0,0 +1,104 @@ + + + + + + +ONLP: General OID Interfaces + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ +
+
General OID Interfaces
+
+
+ + + + + + + + +

+Modules

 Attribute Interface
 
 Asset Interface
 
 ONIE Interface
 
+

Detailed Description

+

These interfaces are available on all OIDs.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__oid-module.html b/packages/base/any/onlp/src/onlp/doc/html/group__oid-module.html new file mode 100644 index 00000000..e975d889 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__oid-module.html @@ -0,0 +1,388 @@ + + + + + + +ONLP: Modules + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + + +

+Data Structures

struct  onlp_module_info_s
 Module OID Information Structure. More...
 
+ + + + +

+Typedefs

+typedef struct onlp_module_info_s onlp_module_info_t
 Module OID Information Structure.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int onlp_module_sw_init (void)
 Initialize the module software module. More...
 
int onlp_module_hw_init (uint32_t flags)
 Initialize the module. More...
 
int onlp_module_sw_denit (void)
 Deinitialize the module software module. More...
 
int onlp_module_hdr_get (onlp_oid_t oid, onlp_oid_hdr_t *hdr)
 Get the module header structure. More...
 
int onlp_module_info_get (onlp_oid_t oid, onlp_module_info_t *info)
 Get the module info structure. More...
 
int onlp_module_info_to_user_json (onlp_module_info_t *info, cJSON **rv, uint32_t flags)
 Convert a module info structure to user JSON. More...
 
int onlp_module_info_to_json (onlp_module_info_t *info, cJSON **rv, uint32_t flags)
 Convert a module info structure to JSON. More...
 
int onlp_module_info_from_json (cJSON *cj, onlp_module_info_t *info)
 Convert a JSON object to a module info structure. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_module_hdr_get (onlp_oid_t oid,
onlp_oid_hdr_thdr 
)
+
+ +

Get the module header structure.

+
Parameters
+ + + +
oidThe Module oid.
[out]hdrReceives the header.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_module_hw_init (uint32_t flags)
+
+ +

Initialize the module.

+
Parameters
+ + +
flagsThe initialization flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_module_info_from_json (cJSON * cj,
onlp_module_info_tinfo 
)
+
+ +

Convert a JSON object to a module info structure.

+
Parameters
+ + + +
cjThe JSON object.
[out]infoReceives the module info structure.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_module_info_get (onlp_oid_t oid,
onlp_module_info_tinfo 
)
+
+ +

Get the module info structure.

+
Parameters
+ + + +
oidThe Module oid.
[out]info
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_module_info_to_json (onlp_module_info_tinfo,
cJSON ** rv,
uint32_t flags 
)
+
+ +

Convert a module info structure to JSON.

+
Parameters
+ + + + +
infoThe module info structure.
[out]rvReceives the JSON object.
flagsThe JSON format flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_module_info_to_user_json (onlp_module_info_tinfo,
cJSON ** rv,
uint32_t flags 
)
+
+ +

Convert a module info structure to user JSON.

+
Parameters
+ + + + +
infoThe module info structure.
[out]rvReceives the JSON object.
flagsThe JSON format flags.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_module_sw_denit (void )
+
+ +

Deinitialize the module software module.

+
Note
The primary purpose of this API is to properly deallocate any resources used by the module in order faciliate detection of real resouce leaks.
+ +
+
+ +
+
+ + + + + + + + +
int onlp_module_sw_init (void )
+
+ +

Initialize the module software module.

+
Note
This will be called at software initialization time. This should not initialize any hardware.
+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__oid-psu.html b/packages/base/any/onlp/src/onlp/doc/html/group__oid-psu.html new file mode 100644 index 00000000..7b7bc626 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__oid-psu.html @@ -0,0 +1,844 @@ + + + + + + +ONLP: PSUs + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + +

+Data Structures

struct  onlp_psu_info_t
 
+ + + + + + + + + + + + + + + +

+Macros

#define ONLP_PSU_INFO_CAP_IS_SET(_pinfo, _name)   ((_pinfo)->caps & ONLP_PSU_CAPS_##_name)
 
#define ONLP_PSU_STATUS_PRESENT(_pi)   ( (_pi).status & ONLP_PSU_STATUS_PRESENT )
 
#define ONLP_PSU_STATUS_MISSING(_pi)   (!ONLP_PSU_STATUS_PRESENT(_pi))
 
#define ONLP_PSU_STATUS_FAILED(_pi)   ( (_pi).status & ONLP_PSU_STATUS_FAILED)
 
#define ONLP_PSU_CAPS_VALID(_e)   (onlp_psu_caps_valid((_e)))
 
#define ONLP_PSU_TYPE_STRINGS
 
#define ONLP_PSU_TYPE_VALID(_e)   ( (0 <= (_e)) && ((_e) <= ONLP_PSU_TYPE_DC48))
 
+ + + + + + + +

+Typedefs

typedef enum onlp_psu_caps_e onlp_psu_caps_t
 
typedef enum onlp_psu_type_e onlp_psu_type_t
 
typedef struct onlp_psu_info_t onlp_psu_info_t
 
+ + + + + +

+Enumerations

enum  onlp_psu_caps_e {
+  ONLP_PSU_CAPS_GET_TYPE = (1 << 0), +ONLP_PSU_CAPS_GET_VIN = (1 << 1), +ONLP_PSU_CAPS_GET_VOUT = (1 << 2), +ONLP_PSU_CAPS_GET_IIN = (1 << 3), +
+  ONLP_PSU_CAPS_GET_IOUT = (1 << 4), +ONLP_PSU_CAPS_GET_PIN = (1 << 5), +ONLP_PSU_CAPS_GET_POUT = (1 << 6) +
+ }
 
enum  onlp_psu_type_e {
+  ONLP_PSU_TYPE_AC, +ONLP_PSU_TYPE_DC12, +ONLP_PSU_TYPE_DC48, +ONLP_PSU_TYPE_LAST = ONLP_PSU_TYPE_DC48, +
+  ONLP_PSU_TYPE_COUNT, +ONLP_PSU_TYPE_INVALID = -1 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+int onlp_psu_sw_init (void)
 Software initialization of the PSU module.
 
int onlp_psu_hw_init (uint32_t flags)
 Hardware initialization of the PSU module. More...
 
int onlp_psu_sw_denit (void)
 Deinitialize the psu software module. More...
 
int onlp_psu_hdr_get (onlp_oid_t id, onlp_oid_hdr_t *rv)
 Get the PSU's oid header. More...
 
int onlp_psu_info_get (onlp_oid_t id, onlp_psu_info_t *rv)
 Get the PSU information. More...
 
int onlp_psu_info_to_user_json (onlp_psu_info_t *info, cJSON **cj, uint32_t flags)
 Convert a PSU info structure to user JSON. More...
 
int onlp_psu_info_to_json (onlp_psu_info_t *info, cJSON **cj, uint32_t flags)
 Convert a PSU info structure to JSON. More...
 
int onlp_psu_info_from_json (cJSON *cj, onlp_psu_info_t *info)
 Convert a JSON object to a PSU info structure. More...
 
const char * onlp_psu_caps_name (onlp_psu_caps_t e)
 
int onlp_psu_caps_value (const char *str, onlp_psu_caps_t *e, int substr)
 
const char * onlp_psu_caps_desc (onlp_psu_caps_t e)
 
int onlp_psu_caps_valid (onlp_psu_caps_t e)
 
const char * onlp_psu_type_name (onlp_psu_type_t e)
 
int onlp_psu_type_value (const char *str, onlp_psu_type_t *e, int substr)
 
const char * onlp_psu_type_desc (onlp_psu_type_t e)
 
+ + + + + + + + + +

+Variables

aim_map_si_t onlp_psu_caps_map []
 
aim_map_si_t onlp_psu_caps_desc_map []
 
aim_map_si_t onlp_psu_type_map []
 
aim_map_si_t onlp_psu_type_desc_map []
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define ONLP_PSU_CAPS_VALID( _e)   (onlp_psu_caps_valid((_e)))
+
+

validator

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ONLP_PSU_INFO_CAP_IS_SET( _pinfo,
 _name 
)   ((_pinfo)->caps & ONLP_PSU_CAPS_##_name)
+
+

Determine if a PSU capability is set.

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_PSU_STATUS_FAILED( _pi)   ( (_pi).status & ONLP_PSU_STATUS_FAILED)
+
+

PSU has failed.

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_PSU_STATUS_MISSING( _pi)   (!ONLP_PSU_STATUS_PRESENT(_pi))
+
+

PSU is missing.

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_PSU_STATUS_PRESENT( _pi)   ( (_pi).status & ONLP_PSU_STATUS_PRESENT )
+
+

PSU is present.

+ +
+
+ +
+
+ + + + +
#define ONLP_PSU_TYPE_STRINGS
+
+Value:
{\
+
"AC", \
+
"DC12", \
+
"DC48", \
+
}
+

Strings macro.

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_PSU_TYPE_VALID( _e)   ( (0 <= (_e)) && ((_e) <= ONLP_PSU_TYPE_DC48))
+
+

validator

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef enum onlp_psu_caps_e onlp_psu_caps_t
+
+

onlp_psu_caps

+ +
+
+ +
+
+ + + + +
typedef struct onlp_psu_info_t onlp_psu_info_t
+
+

PSU Information Structure

+ +
+
+ +
+
+ + + + +
typedef enum onlp_psu_type_e onlp_psu_type_t
+
+

onlp_psu_type

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum onlp_psu_caps_e
+
+

onlp_psu_caps

+ +
+
+ +
+
+ + + + +
enum onlp_psu_type_e
+
+

onlp_psu_type

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
const char* onlp_psu_caps_desc (onlp_psu_caps_t e)
+
+

Enum descriptions.

+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_psu_caps_name (onlp_psu_caps_t e)
+
+

Enum names.

+ +
+
+ +
+
+ + + + + + + + +
int onlp_psu_caps_valid (onlp_psu_caps_t e)
+
+

Enum validator.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_psu_caps_value (const char * str,
onlp_psu_caps_te,
int substr 
)
+
+

Enum values.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_psu_hdr_get (onlp_oid_t id,
onlp_oid_hdr_trv 
)
+
+ +

Get the PSU's oid header.

+
Parameters
+ + + +
idThe PSU OID.
[out]rvReceives the header.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_psu_hw_init (uint32_t flags)
+
+ +

Hardware initialization of the PSU module.

+
Parameters
+ + +
flagsThe hardware initialization flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_psu_info_from_json (cJSON * cj,
onlp_psu_info_tinfo 
)
+
+ +

Convert a JSON object to a PSU info structure.

+
Parameters
+ + + +
cjThe JSON object.
[out]infoReceives the PSU info structure.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_psu_info_get (onlp_oid_t id,
onlp_psu_info_trv 
)
+
+ +

Get the PSU information.

+
Parameters
+ + + +
idThe PSU OID.
[out]rvReceives the information structure.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_psu_info_to_json (onlp_psu_info_tinfo,
cJSON ** cj,
uint32_t flags 
)
+
+ +

Convert a PSU info structure to JSON.

+
Parameters
+ + + + +
infoThe PSU info structure
[out]cjReceives the JSON object.
flagsThe JSON format flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_psu_info_to_user_json (onlp_psu_info_tinfo,
cJSON ** cj,
uint32_t flags 
)
+
+ +

Convert a PSU info structure to user JSON.

+
Parameters
+ + + + +
infoThe PSU info structure
[out]cjReceives the JSON object.
flagsThe JSON format flags.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_psu_sw_denit (void )
+
+ +

Deinitialize the psu software module.

+
Note
The primary purpose of this API is to properly deallocate any resources used by the module in order faciliate detection of real resouce leaks.
+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_psu_type_desc (onlp_psu_type_t e)
+
+

Enum descriptions.

+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_psu_type_name (onlp_psu_type_t e)
+
+

Enum names.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_psu_type_value (const char * str,
onlp_psu_type_te,
int substr 
)
+
+

Enum values.

+ +
+
+

Variable Documentation

+ +
+
+ + + + +
aim_map_si_t onlp_psu_caps_desc_map[]
+
+

onlp_psu_caps_desc_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_psu_caps_map[]
+
+

onlp_psu_caps_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_psu_type_desc_map[]
+
+

onlp_psu_type_desc_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_psu_type_map[]
+
+

onlp_psu_type_map table.

+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__oid-sfp.html b/packages/base/any/onlp/src/onlp/doc/html/group__oid-sfp.html new file mode 100644 index 00000000..39ceae64 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__oid-sfp.html @@ -0,0 +1,1777 @@ + + + + + + +ONLP: SFPs + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + +

+Data Structures

struct  onlp_sfp_info_t
 
+ + + + + + + + + + + + + +

+Macros

#define ONLP_SFP_BLOCK_DATA_SIZE   256
 
#define ONLP_SFP_CONTROL_STRINGS
 
#define ONLP_SFP_CONTROL_VALID(_e)   ( (0 <= (_e)) && ((_e) <= ONLP_SFP_CONTROL_POWER_OVERRIDE))
 
#define ONLP_SFP_CONTROL_FLAG_VALID(_e)   (onlp_sfp_control_flag_valid((_e)))
 
#define ONLP_SFP_TYPE_STRINGS
 
#define ONLP_SFP_TYPE_VALID(_e)   ( (0 <= (_e)) && ((_e) <= ONLP_SFP_TYPE_QSFP28))
 
+ + + + + + + + + + + +

+Typedefs

typedef enum onlp_sfp_control_e onlp_sfp_control_t
 
typedef enum
+onlp_sfp_control_flag_e 
onlp_sfp_control_flag_t
 
typedef enum onlp_sfp_type_e onlp_sfp_type_t
 
typedef struct onlp_sfp_info_t onlp_sfp_info_t
 
typedef aim_bitmap256_t onlp_sfp_bitmap_t
 
+ + + + + + + +

+Enumerations

enum  onlp_sfp_control_e {
+  ONLP_SFP_CONTROL_RESET, +ONLP_SFP_CONTROL_RESET_STATE, +ONLP_SFP_CONTROL_RX_LOS, +ONLP_SFP_CONTROL_TX_FAULT, +
+  ONLP_SFP_CONTROL_TX_DISABLE, +ONLP_SFP_CONTROL_TX_DISABLE_CHANNEL, +ONLP_SFP_CONTROL_LP_MODE, +ONLP_SFP_CONTROL_POWER_OVERRIDE, +
+  ONLP_SFP_CONTROL_LAST = ONLP_SFP_CONTROL_POWER_OVERRIDE, +ONLP_SFP_CONTROL_COUNT, +ONLP_SFP_CONTROL_INVALID = -1 +
+ }
 
enum  onlp_sfp_control_flag_e {
+  ONLP_SFP_CONTROL_FLAG_RESET = (1 << 0), +ONLP_SFP_CONTROL_FLAG_RESET_STATE = (1 << 1), +ONLP_SFP_CONTROL_FLAG_RX_LOS = (1 << 2), +ONLP_SFP_CONTROL_FLAG_TX_FAULT = (1 << 3), +
+  ONLP_SFP_CONTROL_FLAG_TX_DISABLE = (1 << 4), +ONLP_SFP_CONTROL_FLAG_TX_DISABLE_CHANNEL = (1 << 5), +ONLP_SFP_CONTROL_FLAG_LP_MODE = (1 << 6), +ONLP_SFP_CONTROL_FLAG_POWER_OVERRIDE = (1 << 7) +
+ }
 
enum  onlp_sfp_type_e {
+  ONLP_SFP_TYPE_SFP, +ONLP_SFP_TYPE_QSFP, +ONLP_SFP_TYPE_SFP28, +ONLP_SFP_TYPE_QSFP28, +
+  ONLP_SFP_TYPE_LAST = ONLP_SFP_TYPE_QSFP28, +ONLP_SFP_TYPE_COUNT, +ONLP_SFP_TYPE_INVALID = -1 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+int onlp_sfp_sw_init (void)
 Software initialization of the SFP module.
 
int onlp_sfp_hw_init (uint32_t flags)
 Hardware initialization of the SFP module. More...
 
int onlp_sfp_sw_denit (void)
 Deinitialize the sfp software module. More...
 
void onlp_sfp_bitmap_t_init (onlp_sfp_bitmap_t *bmap)
 
int onlp_sfp_bitmap_get (onlp_sfp_bitmap_t *bmap)
 Get the set of valid SFP ports. More...
 
int onlp_sfp_info_get (onlp_oid_t port, onlp_sfp_info_t *info)
 Get the SFP information structure. More...
 
int onlp_sfp_info_dom_get (onlp_oid_t port, onlp_sfp_info_t *info)
 Get the SFP information structure (including DOM) More...
 
int onlp_sfp_hdr_get (onlp_oid_t port, onlp_oid_hdr_t *rv)
 Get the SFP's oid header. More...
 
int onlp_sfp_port_valid (onlp_oid_t port)
 Determine if a given port number is a valid SFP port. More...
 
int onlp_sfp_type_get (onlp_oid_t port, onlp_sfp_type_t *rtype)
 Determine the SFP Connector type. More...
 
int onlp_sfp_is_present (onlp_oid_t port)
 Determine if an SFP is currently plugged in. More...
 
int onlp_sfp_presence_bitmap_get (onlp_sfp_bitmap_t *dst)
 Return the presence bitmap for all ports. More...
 
int onlp_sfp_rx_los_bitmap_get (onlp_sfp_bitmap_t *dst)
 Get the RX_LOS bitmap for all ports. More...
 
int onlp_sfp_dev_read (onlp_oid_t port, int devaddr, int addr, uint8_t *dst, int count)
 Read bytes from the target device on the given SFP port. More...
 
int onlp_sfp_dev_alloc_read (onlp_oid_t port, int devaddr, int addr, int count, uint8_t **rv)
 Read bytes from the target device on the given SFP port. More...
 
int onlp_sfp_dev_write (onlp_oid_t port, int devaddr, int addr, uint8_t *src, int count)
 Write bytes to the target device on the given SFP port. More...
 
int onlp_sfp_dev_readb (onlp_oid_t port, int devaddr, int addr)
 Read a byte from the target device on the given SFP port. More...
 
int onlp_sfp_dev_writeb (onlp_oid_t port, int devaddr, int addr, uint8_t value)
 Write a byte to the target device on the given SFP port. More...
 
int onlp_sfp_dev_readw (onlp_oid_t port, int devaddr, int addr)
 Read a word from the target device on the given SFP port. More...
 
int onlp_sfp_dev_writew (onlp_oid_t port, int devaddr, int addr, uint16_t value)
 Write a word to the target device on the given SFP port. More...
 
int onlp_sfp_post_insert (onlp_oid_t port, sff_info_t *info)
 Perform any actions required after an SFP is inserted. More...
 
int onlp_sfp_control_set (onlp_oid_t port, onlp_sfp_control_t control, int value)
 Set an SFP control. More...
 
int onlp_sfp_control_get (onlp_oid_t port, onlp_sfp_control_t control, int *value)
 Get an SFP control. More...
 
int onlp_sfp_control_flags_get (onlp_oid_t port, uint32_t *flags)
 Get the value of all SFP controls. More...
 
int onlp_sfp_info_to_user_json (onlp_sfp_info_t *info, cJSON **rv, uint32_t flags)
 Convert an SFP info structure to user JSON. More...
 
int onlp_sfp_info_to_json (onlp_sfp_info_t *info, cJSON **rv, uint32_t flags)
 Convert an SFP info structure to JSON. More...
 
int onlp_sfp_info_from_json (cJSON *cj, onlp_sfp_info_t *info)
 Convert a JSON object to an SFP info structure. More...
 
+int onlp_sfp_hw_denit (void)
 Hardware deinitialize the SFP subsystem.
 
+int onlp_sfp_inventory_show (aim_pvs_t *pvs)
 Show the current SFP inventory.
 
const char * onlp_sfp_control_name (onlp_sfp_control_t e)
 
int onlp_sfp_control_value (const char *str, onlp_sfp_control_t *e, int substr)
 
const char * onlp_sfp_control_desc (onlp_sfp_control_t e)
 
const char * onlp_sfp_control_flag_name (onlp_sfp_control_flag_t e)
 
int onlp_sfp_control_flag_value (const char *str, onlp_sfp_control_flag_t *e, int substr)
 
const char * onlp_sfp_control_flag_desc (onlp_sfp_control_flag_t e)
 
int onlp_sfp_control_flag_valid (onlp_sfp_control_flag_t e)
 
const char * onlp_sfp_type_name (onlp_sfp_type_t e)
 
int onlp_sfp_type_value (const char *str, onlp_sfp_type_t *e, int substr)
 
const char * onlp_sfp_type_desc (onlp_sfp_type_t e)
 
+ + + + + + + + + + + + + +

+Variables

aim_map_si_t onlp_sfp_control_map []
 
aim_map_si_t onlp_sfp_control_desc_map []
 
aim_map_si_t onlp_sfp_control_flag_map []
 
aim_map_si_t onlp_sfp_control_flag_desc_map []
 
aim_map_si_t onlp_sfp_type_map []
 
aim_map_si_t onlp_sfp_type_desc_map []
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + +
#define ONLP_SFP_BLOCK_DATA_SIZE   256
+
+

SFP Block Data Size

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_SFP_CONTROL_FLAG_VALID( _e)   (onlp_sfp_control_flag_valid((_e)))
+
+

validator

+ +
+
+ +
+
+ + + + +
#define ONLP_SFP_CONTROL_STRINGS
+
+Value:
{\
+
"RESET", \
+
"RESET_STATE", \
+
"RX_LOS", \
+
"TX_FAULT", \
+
"TX_DISABLE", \
+
"TX_DISABLE_CHANNEL", \
+
"LP_MODE", \
+
"POWER_OVERRIDE", \
+
}
+

Strings macro.

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_SFP_CONTROL_VALID( _e)   ( (0 <= (_e)) && ((_e) <= ONLP_SFP_CONTROL_POWER_OVERRIDE))
+
+

validator

+ +
+
+ +
+
+ + + + +
#define ONLP_SFP_TYPE_STRINGS
+
+Value:
{\
+
"SFP", \
+
"QSFP", \
+
"SFP28", \
+
"QSFP28", \
+
}
+

Strings macro.

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_SFP_TYPE_VALID( _e)   ( (0 <= (_e)) && ((_e) <= ONLP_SFP_TYPE_QSFP28))
+
+

validator

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef aim_bitmap256_t onlp_sfp_bitmap_t
+
+

Valid SFP Port bitmaps are communicated using this type.

+ +
+
+ +
+
+

onlp_sfp_control_flag

+ +
+
+ +
+
+ + + + +
typedef enum onlp_sfp_control_e onlp_sfp_control_t
+
+

onlp_sfp_control

+ +
+
+ +
+
+ + + + +
typedef struct onlp_sfp_info_t onlp_sfp_info_t
+
+

SFP Information Structure.

+ +
+
+ +
+
+ + + + +
typedef enum onlp_sfp_type_e onlp_sfp_type_t
+
+

onlp_sfp_type

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum onlp_sfp_control_e
+
+

onlp_sfp_control

+ +
+
+ +
+
+ + + + +
enum onlp_sfp_control_flag_e
+
+

onlp_sfp_control_flag

+ +
+
+ +
+
+ + + + +
enum onlp_sfp_type_e
+
+

onlp_sfp_type

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
int onlp_sfp_bitmap_get (onlp_sfp_bitmap_tbmap)
+
+ +

Get the set of valid SFP ports.

+
Parameters
+ + +
bmapReturns the valid set of SFP-capable port numbers.
+
+
+ +
+
+ +
+
+ + + + + + + + +
void onlp_sfp_bitmap_t_init (onlp_sfp_bitmap_tbmap)
+
+

Convenience function for initializing SFP bitmaps.

Parameters
+ + +
bmapThe address of the bitmap to initialize.
+
+
+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_sfp_control_desc (onlp_sfp_control_t e)
+
+

Enum descriptions.

+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_sfp_control_flag_desc (onlp_sfp_control_flag_t e)
+
+

Enum descriptions.

+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_sfp_control_flag_name (onlp_sfp_control_flag_t e)
+
+

Enum names.

+ +
+
+ +
+
+ + + + + + + + +
int onlp_sfp_control_flag_valid (onlp_sfp_control_flag_t e)
+
+

Enum validator.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_control_flag_value (const char * str,
onlp_sfp_control_flag_te,
int substr 
)
+
+

Enum values.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_sfp_control_flags_get (onlp_oid_t port,
uint32_t * flags 
)
+
+ +

Get the value of all SFP controls.

+
Parameters
+ + + +
portThe port.
flagsReceives the control flag values. See onlp_sfp_control_flags_t
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_control_get (onlp_oid_t port,
onlp_sfp_control_t control,
int * value 
)
+
+ +

Get an SFP control.

+
Parameters
+ + + + +
portThe SFP Port ID.
controlThe control
[out]valueReceives the current value.
+
+
+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_sfp_control_name (onlp_sfp_control_t e)
+
+

Enum names.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_control_set (onlp_oid_t port,
onlp_sfp_control_t control,
int value 
)
+
+ +

Set an SFP control.

+
Parameters
+ + + + +
portThe SFP Port ID.
controlThe control.
valueThe value.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_control_value (const char * str,
onlp_sfp_control_te,
int substr 
)
+
+

Enum values.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_dev_alloc_read (onlp_oid_t port,
int devaddr,
int addr,
int count,
uint8_t ** rv 
)
+
+ +

Read bytes from the target device on the given SFP port.

+
Parameters
+ + + + + + +
portThe SFP OID or Port ID.
devaddrThe device address.
addrThe start target address.
countThe number of bytes to read.
[out]rvReceives the allocated buffer.
+
+
+
Note
The returned buffer must be freed after use.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_dev_read (onlp_oid_t port,
int devaddr,
int addr,
uint8_t * dst,
int count 
)
+
+ +

Read bytes from the target device on the given SFP port.

+
Parameters
+ + + + + + +
portThe SFP OID or Port ID.
devaddrThe device address.
addrThe address to read.
dstReceives the data.
countThe read length.
+
+
+
Returns
The number of bytes read or ONLP_STATUS_E_* no error.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_dev_readb (onlp_oid_t port,
int devaddr,
int addr 
)
+
+ +

Read a byte from the target device on the given SFP port.

+
Parameters
+ + + + +
portThe SFP Port ID.
devaddrThe device address.
addrThe read address.
+
+
+
Returns
The byte on success or ONLP_STATUS_E* on error.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_dev_readw (onlp_oid_t port,
int devaddr,
int addr 
)
+
+ +

Read a word from the target device on the given SFP port.

+
Parameters
+ + + + +
portThe SFP Port ID.
devaddrThe device address.
addrThe read address.
+
+
+
Returns
The word if successful, ONLP_STATUS_E* on error.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_dev_write (onlp_oid_t port,
int devaddr,
int addr,
uint8_t * src,
int count 
)
+
+ +

Write bytes to the target device on the given SFP port.

+
Parameters
+ + + + + + +
portThe SFP OID or Port ID.
devaddrThe device address.
addrThe address to write.
srcThe source data.
countThe write length.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_dev_writeb (onlp_oid_t port,
int devaddr,
int addr,
uint8_t value 
)
+
+ +

Write a byte to the target device on the given SFP port.

+
Parameters
+ + + + + +
portThe SFP Port ID.
devaddrThe device address.
addrThe write address.
valueThe write value.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_dev_writew (onlp_oid_t port,
int devaddr,
int addr,
uint16_t value 
)
+
+ +

Write a word to the target device on the given SFP port.

+
Parameters
+ + + + + +
portThe SFP Port ID.
devaddrThe device address.
addrThe write address.
valueThe write value.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_sfp_hdr_get (onlp_oid_t port,
onlp_oid_hdr_trv 
)
+
+ +

Get the SFP's oid header.

+
Parameters
+ + + +
portThe SFP OID.
[out]rvReceives the header.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_sfp_hw_init (uint32_t flags)
+
+ +

Hardware initialization of the SFP module.

+
Parameters
+ + +
flagsThe hardware initialization flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_sfp_info_dom_get (onlp_oid_t port,
onlp_sfp_info_tinfo 
)
+
+ +

Get the SFP information structure (including DOM)

+
Parameters
+ + + +
portThe SFP OID or Port ID.
[out]infoReceives the information structure.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_sfp_info_from_json (cJSON * cj,
onlp_sfp_info_tinfo 
)
+
+ +

Convert a JSON object to an SFP info structure.

+
Parameters
+ + + +
cjThe JSON object.
[out]infoReceives the SFP info structure.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_sfp_info_get (onlp_oid_t port,
onlp_sfp_info_tinfo 
)
+
+ +

Get the SFP information structure.

+
Parameters
+ + + +
portThe SFP OID or Port ID.
[out]infoReceives the information structure.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_info_to_json (onlp_sfp_info_tinfo,
cJSON ** rv,
uint32_t flags 
)
+
+ +

Convert an SFP info structure to JSON.

+
Parameters
+ + + + +
infoThe SFP info structure.
[out]rvReceives the JSON object.
flagsThe JSON format flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_info_to_user_json (onlp_sfp_info_tinfo,
cJSON ** rv,
uint32_t flags 
)
+
+ +

Convert an SFP info structure to user JSON.

+
Parameters
+ + + + +
infoThe SFP info structure.
[out]rvReceives the JSON object.
flagsThe JSON format flags.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_sfp_is_present (onlp_oid_t port)
+
+ +

Determine if an SFP is currently plugged in.

+
Parameters
+ + +
portThe SFP port number.
+
+
+
Returns
1 if an SFP is present.
+
+0 if an SFP is not present.
+
+<0 on error.
+ +
+
+ +
+
+ + + + + + + + +
int onlp_sfp_port_valid (onlp_oid_t port)
+
+ +

Determine if a given port number is a valid SFP port.

+
Parameters
+ + +
portThe port number.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_sfp_post_insert (onlp_oid_t port,
sff_info_t * info 
)
+
+ +

Perform any actions required after an SFP is inserted.

+
Parameters
+ + + +
portThe SFP Port ID.
infoThe SFF Module information structure.
+
+
+
Note
This function is optional. If your platform must adjust equalizer or preemphasis settings internally then this function should be implemented as the trigger.
+ +
+
+ +
+
+ + + + + + + + +
int onlp_sfp_presence_bitmap_get (onlp_sfp_bitmap_tdst)
+
+ +

Return the presence bitmap for all ports.

+
Parameters
+ + +
dstThe receives the presence bitmap for all ports.
+
+
+
Note
This function can return Unsupported. It will not be emulated if the SFPI driver does not support batch collection of the SFP presence.
+ +
+
+ +
+
+ + + + + + + + +
int onlp_sfp_rx_los_bitmap_get (onlp_sfp_bitmap_tdst)
+
+ +

Get the RX_LOS bitmap for all ports.

+
Parameters
+ + +
dstReceives the RX_LOS bitmap for all ports.
+
+
+
Note
This function can return Unsupported. It will not be emulated if the SFPI driver does not support batch collection of the rx_los status.
+ +
+
+ +
+
+ + + + + + + + +
int onlp_sfp_sw_denit (void )
+
+ +

Deinitialize the sfp software module.

+

Software deinitialize the SFP subsystem.

+
Note
The primary purpose of this API is to properly deallocate any resources used by the module in order faciliate detection of real resouce leaks.
+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_sfp_type_desc (onlp_sfp_type_t e)
+
+

Enum descriptions.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_sfp_type_get (onlp_oid_t port,
onlp_sfp_type_trtype 
)
+
+ +

Determine the SFP Connector type.

+
Parameters
+ + + +
portThe port number.
[out]rtypeReceives the type.
+
+
+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_sfp_type_name (onlp_sfp_type_t e)
+
+

Enum names.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfp_type_value (const char * str,
onlp_sfp_type_te,
int substr 
)
+
+

Enum values.

+ +
+
+

Variable Documentation

+ +
+
+ + + + +
aim_map_si_t onlp_sfp_control_desc_map[]
+
+

onlp_sfp_control_desc_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_sfp_control_flag_desc_map[]
+
+

onlp_sfp_control_flag_desc_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_sfp_control_flag_map[]
+
+

onlp_sfp_control_flag_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_sfp_control_map[]
+
+

onlp_sfp_control_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_sfp_type_desc_map[]
+
+

onlp_sfp_type_desc_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_sfp_type_map[]
+
+

onlp_sfp_type_map table.

+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__oid-thermal.html b/packages/base/any/onlp/src/onlp/doc/html/group__oid-thermal.html new file mode 100644 index 00000000..33221c72 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__oid-thermal.html @@ -0,0 +1,827 @@ + + + + + + +ONLP: Thermals + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + +

+Data Structures

struct  onlp_thermal_info_s
 
+ + + + + + + + + + + + + +

+Macros

#define ONLP_THERMAL_CAPS_ALL   0xF
 
#define ONLP_THERMAL_CAPS_GET_ANY_THRESHOLD
 
#define ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS
 
#define ONLP_THERMAL_INFO_CAP_IS_SET(_pinfo, _name)   ((_pinfo)->caps & ONLP_THERMAL_CAPS_##_name)
 
#define ONLP_THERMAL_CAPS_VALID(_e)   (onlp_thermal_caps_valid((_e)))
 
#define ONLP_THERMAL_THRESHOLD_VALID(_e)   (onlp_thermal_threshold_valid((_e)))
 
+ + + + + + + +

+Typedefs

typedef enum onlp_thermal_caps_e onlp_thermal_caps_t
 
typedef enum
+onlp_thermal_threshold_e 
onlp_thermal_threshold_t
 
typedef struct onlp_thermal_info_s onlp_thermal_info_t
 
+ + + + + +

+Enumerations

enum  onlp_thermal_caps_e { ONLP_THERMAL_CAPS_GET_TEMPERATURE = (1 << 0), +ONLP_THERMAL_CAPS_GET_WARNING_THRESHOLD = (1 << 1), +ONLP_THERMAL_CAPS_GET_ERROR_THRESHOLD = (1 << 2), +ONLP_THERMAL_CAPS_GET_SHUTDOWN_THRESHOLD = (1 << 3) + }
 
enum  onlp_thermal_threshold_e { ONLP_THERMAL_THRESHOLD_WARNING_DEFAULT = 45000, +ONLP_THERMAL_THRESHOLD_ERROR_DEFAULT = 55000, +ONLP_THERMAL_THRESHOLD_SHUTDOWN_DEFAULT = 60000 + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+int onlp_thermal_sw_init (void)
 Software initialization of the thermal module.
 
int onlp_thermal_hw_init (uint32_t flags)
 Hardware initialization of the thermal module. More...
 
int onlp_thermal_sw_denit (void)
 Deinitialize the thermal software module. More...
 
int onlp_thermal_hdr_get (onlp_oid_t oid, onlp_oid_hdr_t *rv)
 Retrieve the thermal's oid header. More...
 
int onlp_thermal_info_get (onlp_oid_t oid, onlp_thermal_info_t *rv)
 Retrieve information about the given thermal id. More...
 
int onlp_thermal_info_to_json (onlp_thermal_info_t *info, cJSON **rv, uint32_t flags)
 Convert a thermal info structure to json. More...
 
int onlp_thermal_info_from_json (cJSON *cj, onlp_thermal_info_t *info)
 Convert a JSON object to a thermal info structure. More...
 
int onlp_thermal_info_to_user_json (onlp_thermal_info_t *info, cJSON **rv, uint32_t flags)
 Convert a thermal info structure to user json. More...
 
const char * onlp_thermal_caps_name (onlp_thermal_caps_t e)
 
int onlp_thermal_caps_value (const char *str, onlp_thermal_caps_t *e, int substr)
 
const char * onlp_thermal_caps_desc (onlp_thermal_caps_t e)
 
int onlp_thermal_caps_valid (onlp_thermal_caps_t e)
 
const char * onlp_thermal_threshold_name (onlp_thermal_threshold_t e)
 
int onlp_thermal_threshold_value (const char *str, onlp_thermal_threshold_t *e, int substr)
 
const char * onlp_thermal_threshold_desc (onlp_thermal_threshold_t e)
 
int onlp_thermal_threshold_valid (onlp_thermal_threshold_t e)
 
+ + + + + + + + + +

+Variables

aim_map_si_t onlp_thermal_caps_map []
 
aim_map_si_t onlp_thermal_caps_desc_map []
 
aim_map_si_t onlp_thermal_threshold_map []
 
aim_map_si_t onlp_thermal_threshold_desc_map []
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + +
#define ONLP_THERMAL_CAPS_ALL   0xF
+
+

Shortcut for specifying all capabilties.

+ +
+
+ +
+
+ + + + +
#define ONLP_THERMAL_CAPS_GET_ANY_THRESHOLD
+
+Value:
( ONLP_THERMAL_CAPS_GET_WARNING_THRESHOLD | \
+
ONLP_THERMAL_CAPS_GET_ERROR_THRESHOLD | \
+
ONLP_THERMAL_CAPS_GET_SHUTDOWN_THRESHOLD )
+

Shortcut for determining the availability of any threshold value.

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_THERMAL_CAPS_VALID( _e)   (onlp_thermal_caps_valid((_e)))
+
+

validator

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ONLP_THERMAL_INFO_CAP_IS_SET( _pinfo,
 _name 
)   ((_pinfo)->caps & ONLP_THERMAL_CAPS_##_name)
+
+

Determine if a thermal capability is set.

+ +
+
+ +
+
+ + + + +
#define ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS
+
+Value:
{ ONLP_THERMAL_THRESHOLD_WARNING_DEFAULT, \
+
ONLP_THERMAL_THRESHOLD_ERROR_DEFAULT, \
+
ONLP_THERMAL_THRESHOLD_SHUTDOWN_DEFAULT }
+

Shortcut for all default thermal threshold value.

+ +
+
+ +
+
+ + + + + + + + +
#define ONLP_THERMAL_THRESHOLD_VALID( _e)   (onlp_thermal_threshold_valid((_e)))
+
+

validator

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef enum onlp_thermal_caps_e onlp_thermal_caps_t
+
+

onlp_thermal_caps

+ +
+
+ +
+
+ + + + +
typedef struct onlp_thermal_info_s onlp_thermal_info_t
+
+

Thermal sensor information structure.

+ +
+
+ +
+
+

onlp_thermal_threshold

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum onlp_thermal_caps_e
+
+

onlp_thermal_caps

+ +
+
+ +
+
+ + + + +
enum onlp_thermal_threshold_e
+
+

onlp_thermal_threshold

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
const char* onlp_thermal_caps_desc (onlp_thermal_caps_t e)
+
+

Enum descriptions.

+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_thermal_caps_name (onlp_thermal_caps_t e)
+
+

Enum names.

+ +
+
+ +
+
+ + + + + + + + +
int onlp_thermal_caps_valid (onlp_thermal_caps_t e)
+
+

Enum validator.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_thermal_caps_value (const char * str,
onlp_thermal_caps_te,
int substr 
)
+
+

Enum values.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_thermal_hdr_get (onlp_oid_t oid,
onlp_oid_hdr_trv 
)
+
+ +

Retrieve the thermal's oid header.

+
Parameters
+ + + +
oidThe thermal oid.
[out]rvReceives the header.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_thermal_hw_init (uint32_t flags)
+
+ +

Hardware initialization of the thermal module.

+
Parameters
+ + +
flagsThe hardware initialization flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_thermal_info_from_json (cJSON * cj,
onlp_thermal_info_tinfo 
)
+
+ +

Convert a JSON object to a thermal info structure.

+
Parameters
+ + + +
cjThe JSON object representing the structure.
[out]infoReceives the thermal info.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_thermal_info_get (onlp_oid_t oid,
onlp_thermal_info_trv 
)
+
+ +

Retrieve information about the given thermal id.

+
Parameters
+ + + +
oidThe thermal oid.
[out]rvReceives the thermal information.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_thermal_info_to_json (onlp_thermal_info_tinfo,
cJSON ** rv,
uint32_t flags 
)
+
+ +

Convert a thermal info structure to json.

+
Parameters
+ + + + +
infoThe thermal info structure.
[out]rvReceives the JSON object.
flagsThe JSON processing flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_thermal_info_to_user_json (onlp_thermal_info_tinfo,
cJSON ** rv,
uint32_t flags 
)
+
+ +

Convert a thermal info structure to user json.

+
Parameters
+ + + + +
infoThe thermal info structure.
[out]rvReceives the JSON object.
flagsThe JSON processing flags.
+
+
+
Note
The user json format contains only the fields relevant to user output.
+ +
+
+ +
+
+ + + + + + + + +
int onlp_thermal_sw_denit (void )
+
+ +

Deinitialize the thermal software module.

+
Note
The primary purpose of this API is to properly deallocate any resources used by the module in order faciliate detection of real resouce leaks.
+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_thermal_threshold_desc (onlp_thermal_threshold_t e)
+
+

Enum descriptions.

+ +
+
+ +
+
+ + + + + + + + +
const char* onlp_thermal_threshold_name (onlp_thermal_threshold_t e)
+
+

Enum names.

+ +
+
+ +
+
+ + + + + + + + +
int onlp_thermal_threshold_valid (onlp_thermal_threshold_t e)
+
+

Enum validator.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_thermal_threshold_value (const char * str,
onlp_thermal_threshold_te,
int substr 
)
+
+

Enum values.

+ +
+
+

Variable Documentation

+ +
+
+ + + + +
aim_map_si_t onlp_thermal_caps_desc_map[]
+
+

onlp_thermal_caps_desc_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_thermal_caps_map[]
+
+

onlp_thermal_caps_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_thermal_threshold_desc_map[]
+
+

onlp_thermal_threshold_desc_map table.

+ +
+
+ +
+
+ + + + +
aim_map_si_t onlp_thermal_threshold_map[]
+
+

onlp_thermal_threshold_map table.

+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__oid-types.html b/packages/base/any/onlp/src/onlp/doc/html/group__oid-types.html new file mode 100644 index 00000000..73897be5 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__oid-types.html @@ -0,0 +1,112 @@ + + + + + + +ONLP: OID Types + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + +

+Modules

 Chassis
 
 Modules
 
 Thermals
 
 Fans
 
 PSUs
 
 SFPs
 
 Generics
 
+

Detailed Description

+

Software interfaces by OID Type.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__onie.html b/packages/base/any/onlp/src/onlp/doc/html/group__onie.html new file mode 100644 index 00000000..931e39ab --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__onie.html @@ -0,0 +1,90 @@ + + + + + + +ONLP: ONIE Interface + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__onlp-appication.html b/packages/base/any/onlp/src/onlp/doc/html/group__onlp-appication.html new file mode 100644 index 00000000..def9c372 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__onlp-appication.html @@ -0,0 +1,101 @@ + + + + + + +ONLP: ONLP Application Interfaces + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ +
+
ONLP Application Interfaces
+
+
+ + + + + + +

+Modules

 General OID Interfaces
 
 OID Types
 
+

Detailed Description

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__onlp-config.html b/packages/base/any/onlp/src/onlp/doc/html/group__onlp-config.html new file mode 100644 index 00000000..a6d627b7 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__onlp-config.html @@ -0,0 +1,524 @@ + + + + + + +ONLP: Compile Time Configuration + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ +
+
Compile Time Configuration
+
+
+ + + + +

+Data Structures

struct  onlp_config_settings_s
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define ONLP_CONFIG_INCLUDE_LOGGING   1
 
#define ONLP_CONFIG_LOG_OPTIONS_DEFAULT   AIM_LOG_OPTIONS_DEFAULT
 
#define ONLP_CONFIG_LOG_BITS_DEFAULT   AIM_LOG_BITS_DEFAULT
 
#define ONLP_CONFIG_LOG_CUSTOM_BITS_DEFAULT   0
 
#define ONLP_CONFIG_PORTING_STDLIB   1
 
#define ONLP_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS   ONLP_CONFIG_PORTING_STDLIB
 
#define ONLP_CONFIG_INCLUDE_UCLI   0
 
#define ONLP_CONFIG_INCLUDE_PLATFORM_ERROR_CHECK   1
 
#define ONLP_CONFIG_INCLUDE_SHLOCK_GLOBAL_INIT   0
 
#define ONLP_CONFIG_PLATFORM_NAME   NULL
 
#define ONLP_CONFIG_PLATFORM_FILENAME   "/etc/onl/platform"
 
#define ONLP_CONFIG_INCLUDE_PLATFORM_OVERRIDES   1
 
#define ONLP_CONFIG_CONFIGURATION_FILENAME   "/etc/onlp.conf"
 
#define ONLP_CONFIG_CONFIGURATION_ENV   "ONLP_CONF"
 
#define ONLP_CONFIG_INCLUDE_API_LOCK   1
 
#define ONLP_CONFIG_API_LOCK_GLOBAL_SHARED   1
 
#define ONLP_CONFIG_API_LOCK_TIMEOUT   60000000
 
#define ONLP_CONFIG_INFO_STR_MAX   64
 
#define ONLP_CONFIG_INCLUDE_THERMAL_THRESHOLDS   0
 
#define ONLP_CONFIG_INCLUDE_API_PROFILING   0
 
+ + + +

+Typedefs

typedef struct
+onlp_config_settings_s 
onlp_config_settings_t
 
+ + + + + + + +

+Functions

const char * onlp_config_lookup (const char *setting)
 Lookup a configuration setting. More...
 
int onlp_config_show (struct aim_pvs_s *pvs)
 Show the compile-time configuration. More...
 
+ + + +

+Variables

onlp_config_settings_t onlp_config_settings []
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + +
#define ONLP_CONFIG_API_LOCK_GLOBAL_SHARED   1
+
+

ONLP_CONFIG_API_LOCK_GLOBAL_SHARED

+

If 0, the API lock is a simple semaphore. If 1, the API lock is a global shared mutex.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_API_LOCK_TIMEOUT   60000000
+
+

ONLP_CONFIG_API_LOCK_TIMEOUT

+

The maximum amount of time (in usecs) to wait while attempting to acquire the API lock. Failure to acquire is fatal. A value of zero disables this feature.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_CONFIGURATION_ENV   "ONLP_CONF"
+
+

ONLP_CONFIG_CONFIGURATION_ENV

+

Environment variable to check for configuration filenames. Overrides default.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_CONFIGURATION_FILENAME   "/etc/onlp.conf"
+
+

ONLP_CONFIG_CONFIGURATION_FILENAME

+

The filename for the (optional) ONLP JSON configuration file.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_INCLUDE_API_LOCK   1
+
+

ONLP_CONFIG_INCLUDE_API_LOCK

+

Include exclusive locking for all API calls.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_INCLUDE_API_PROFILING   0
+
+

ONLP_CONFIG_INCLUDE_API_PROFILING

+

Include API timing profiles.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_INCLUDE_LOGGING   1
+
+

ONLP_CONFIG_INCLUDE_LOGGING

+

Include or exclude logging.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_INCLUDE_PLATFORM_ERROR_CHECK   1
+
+

ONLP_CONFIG_INCLUDE_PLATFORM_ERROR_CHECK

+

Include platform error checking at initialization.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_INCLUDE_PLATFORM_OVERRIDES   1
+
+

ONLP_CONFIG_INCLUDE_PLATFORM_OVERRIDES

+

Allow support for local overrides of all platform OID values (testing).

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_INCLUDE_SHLOCK_GLOBAL_INIT   0
+
+

ONLP_CONFIG_INCLUDE_SHLOCK_GLOBAL_INIT

+

Include global shlock initialization at module init time.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_INCLUDE_THERMAL_THRESHOLDS   0
+
+

ONLP_CONFIG_INCLUDE_THERMAL_THRESHOLDS

+

Include thermal threshold reporting.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_INCLUDE_UCLI   0
+
+

ONLP_CONFIG_INCLUDE_UCLI

+

Include generic uCli support.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_INFO_STR_MAX   64
+
+

ONLP_CONFIG_INFO_STR_MAX

+

The maximum size of static information string buffers.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_LOG_BITS_DEFAULT   AIM_LOG_BITS_DEFAULT
+
+

ONLP_CONFIG_LOG_BITS_DEFAULT

+

Default enabled log bits.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_LOG_CUSTOM_BITS_DEFAULT   0
+
+

ONLP_CONFIG_LOG_CUSTOM_BITS_DEFAULT

+

Default enabled custom log bits.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_LOG_OPTIONS_DEFAULT   AIM_LOG_OPTIONS_DEFAULT
+
+

ONLP_CONFIG_LOG_OPTIONS_DEFAULT

+

Default enabled log options.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_PLATFORM_FILENAME   "/etc/onl/platform"
+
+

ONLP_CONFIG_PLATFORM_FILENAME

+

The local filename containing the current platform identifier.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_PLATFORM_NAME   NULL
+
+

ONLP_CONFIG_PLATFORM_NAME

+

Static platform configuration.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS   ONLP_CONFIG_PORTING_STDLIB
+
+

ONLP_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS

+

Include standard library headers for stdlib porting macros.

+ +
+
+ +
+
+ + + + +
#define ONLP_CONFIG_PORTING_STDLIB   1
+
+

ONLP_CONFIG_PORTING_STDLIB

+

Default all porting macros to use the C standard libraries.

+ +
+
+

Typedef Documentation

+ +
+
+

All compile time options can be queried or displayedConfiguration settings structure.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
const char* onlp_config_lookup (const char * setting)
+
+ +

Lookup a configuration setting.

+
Parameters
+ + +
settingThe name of the configuration option to lookup.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_config_show (struct aim_pvs_s * pvs)
+
+ +

Show the compile-time configuration.

+
Parameters
+ + +
pvsThe output stream.
+
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
onlp_config_settings_t onlp_config_settings[]
+
+

Configuration settings table. onlp_config_settings table.

+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__onlp-main.html b/packages/base/any/onlp/src/onlp/doc/html/group__onlp-main.html new file mode 100644 index 00000000..c01ac3db --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__onlp-main.html @@ -0,0 +1,103 @@ + + + + + + +ONLP: ONLP + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ +
+
ONLP
+
+
+ + + + + + + + +

+Modules

 ONLP Application Interfaces
 
 Platform Implementation Interfaces
 
 Module Documentation
 
+

Detailed Description

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__onlp-platform.html b/packages/base/any/onlp/src/onlp/doc/html/group__onlp-platform.html new file mode 100644 index 00000000..1ccd363f --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__onlp-platform.html @@ -0,0 +1,110 @@ + + + + + + +ONLP: Platform Implementation Interfaces + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ +
+
Platform Implementation Interfaces
+
+
+ + + + + + + + + + + + + + +

+Modules

 Chassis
 
 Modules
 
 Thermals
 
 Fans
 
 PSUs
 
 SFPs
 
+

Detailed Description

+

These document the requires for implementing the platform interfaces.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__onlp-porting.html b/packages/base/any/onlp/src/onlp/doc/html/group__onlp-porting.html new file mode 100644 index 00000000..b7c1ee19 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__onlp-porting.html @@ -0,0 +1,90 @@ + + + + + + +ONLP: Porting Macros + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+
+
Porting Macros
+
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__psui.html b/packages/base/any/onlp/src/onlp/doc/html/group__psui.html new file mode 100644 index 00000000..1ba94b2e --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__psui.html @@ -0,0 +1,270 @@ + + + + + + +ONLP: PSUs + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + + +

+Macros

#define ONLP_CHASSIS_PSU_INFO_ENTRY_INIT(_id, _desc)
 Initialize a static PSU info structure. More...
 
+ + + + + + + + + + + + + + + + +

+Functions

+int onlp_psui_sw_init (void)
 Software initialization of the PSU module.
 
int onlp_psui_hw_init (uint32_t flags)
 Hardware initialization of the PSU module. More...
 
int onlp_psui_sw_denit (void)
 Deinitialize the psu software module. More...
 
int onlp_psui_hdr_get (onlp_oid_id_t id, onlp_oid_hdr_t *rv)
 Get the PSU's oid header. More...
 
int onlp_psui_info_get (onlp_oid_id_t id, onlp_psu_info_t *rv)
 Get the information structure for the given PSU. More...
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ONLP_CHASSIS_PSU_INFO_ENTRY_INIT( _id,
 _desc 
)
+
+Value:
{ \
+
{ \
+
.id = _id, \
+
.description = _desc, \
+
.poid = ONLP_OID_CHASSIS, \
+
}, \
+
}
+
+

Initialize a static PSU info structure.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_psui_hdr_get (onlp_oid_id_t id,
onlp_oid_hdr_trv 
)
+
+ +

Get the PSU's oid header.

+
Parameters
+ + + +
idThe PSU OID.
[out]rvReceives the header.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_psui_hw_init (uint32_t flags)
+
+ +

Hardware initialization of the PSU module.

+
Parameters
+ + +
flagsThe hardware initialization flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_psui_info_get (onlp_oid_id_t id,
onlp_psu_info_trv 
)
+
+ +

Get the information structure for the given PSU.

+
Parameters
+ + + +
idThe PSU OID
[out]rvReceives the PSU information.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_psui_sw_denit (void )
+
+ +

Deinitialize the psu software module.

+
Note
The primary purpose of this API is to properly deallocate any resources used by the module in order faciliate detection of real resouce leaks.
+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__sfpi.html b/packages/base/any/onlp/src/onlp/doc/html/group__sfpi.html new file mode 100644 index 00000000..0f2f2802 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__sfpi.html @@ -0,0 +1,869 @@ + + + + + + +ONLP: SFPs + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+int onlp_sfpi_sw_init (void)
 Software initialization of the SFP module.
 
int onlp_sfpi_hw_init (uint32_t flags)
 Hardware initialization of the SFP module. More...
 
int onlp_sfpi_sw_denit (void)
 Deinitialize the chassis software module. More...
 
int onlp_sfpi_bitmap_get (onlp_sfp_bitmap_t *bmap)
 Get the bitmap of SFP-capable port numbers. More...
 
int onlp_sfpi_type_get (onlp_oid_id_t id, onlp_sfp_type_t *rtype)
 Determine the SFP connector type. More...
 
int onlp_sfpi_is_present (onlp_oid_id_t id)
 Determine if an SFP is present. More...
 
int onlp_sfpi_presence_bitmap_get (onlp_sfp_bitmap_t *dst)
 Return the presence bitmap for all SFP ports. More...
 
int onlp_sfpi_rx_los_bitmap_get (onlp_sfp_bitmap_t *dst)
 Return the RX_LOS bitmap for all SFP ports. More...
 
int onlp_sfpi_dev_read (onlp_oid_id_t id, int devaddr, int addr, uint8_t *dst, int len)
 Read bytes from the target device on the given SFP port. More...
 
int onlp_sfpi_dev_write (onlp_oid_id_t id, int devaddr, int addr, uint8_t *src, int len)
 Write bytes to the target device on the given SFP port. More...
 
int onlp_sfpi_dev_readb (onlp_oid_id_t id, int devaddr, int addr)
 Read a byte from the target device on the given SFP port. More...
 
int onlp_sfpi_dev_writeb (onlp_oid_id_t id, int devaddr, int addr, uint8_t value)
 Write a byte to the target device on the given SFP port. More...
 
int onlp_sfpi_dev_readw (onlp_oid_id_t id, int devaddr, int addr)
 Read a word from the target device on the given SFP port. More...
 
int onlp_sfpi_dev_writew (onlp_oid_id_t id, int devaddr, int addr, uint16_t value)
 Write a word to the target device on the given SFP port. More...
 
int onlp_sfpi_post_insert (onlp_oid_id_t id, sff_info_t *info)
 Perform any actions required after an SFP is inserted. More...
 
int onlp_sfpi_control_supported (onlp_oid_id_t id, onlp_sfp_control_t control, int *rv)
 Returns whether or not the given control is supported on the given port. More...
 
int onlp_sfpi_control_set (onlp_oid_id_t id, onlp_sfp_control_t control, int value)
 Set an SFP control. More...
 
int onlp_sfpi_control_get (onlp_oid_id_t id, onlp_sfp_control_t control, int *value)
 Get an SFP control. More...
 
int onlp_sfpi_port_map (onlp_oid_id_t id, int *rport)
 Remap SFP user SFP port numbers before calling the SFPI interface. More...
 
int onlp_sfpi_hdr_get (onlp_oid_id_t id, onlp_oid_hdr_t *hdr)
 Get the SFP's OID header. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + +
int onlp_sfpi_bitmap_get (onlp_sfp_bitmap_tbmap)
+
+ +

Get the bitmap of SFP-capable port numbers.

+
Parameters
+ + +
[out]bmapReceives the bitmap.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfpi_control_get (onlp_oid_id_t id,
onlp_sfp_control_t control,
int * value 
)
+
+ +

Get an SFP control.

+
Parameters
+ + + + +
idThe SFP Port ID.
controlThe control
[out]valueReceives the current value.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfpi_control_set (onlp_oid_id_t id,
onlp_sfp_control_t control,
int value 
)
+
+ +

Set an SFP control.

+
Parameters
+ + + + +
idThe SFP Port ID.
controlThe control.
valueThe value.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfpi_control_supported (onlp_oid_id_t id,
onlp_sfp_control_t control,
int * rv 
)
+
+ +

Returns whether or not the given control is supported on the given port.

+
Parameters
+ + + + +
idThe SFP Port ID.
controlThe control.
[out]rvReceives 1 if supported, 0 if not supported.
+
+
+
Note
This provided for convenience and is optional. If you implement this function your control_set and control_get APIs will not be called on unsupported ports.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfpi_dev_read (onlp_oid_id_t id,
int devaddr,
int addr,
uint8_t * dst,
int len 
)
+
+ +

Read bytes from the target device on the given SFP port.

+
Parameters
+ + + + + + +
idThe SFP Port ID.
devaddrThe device address.
addrRead offset.
[out]dstReceives the data.
lenRead length.
+
+
+
Returns
The number of bytes read or ONLP_STATUS_E_* no error.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfpi_dev_readb (onlp_oid_id_t id,
int devaddr,
int addr 
)
+
+ +

Read a byte from the target device on the given SFP port.

+
Parameters
+ + + + +
idThe SFP Port ID.
devaddrThe device address.
addrThe read address.
+
+
+
Returns
The byte on success or ONLP_STATUS_E* on error.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfpi_dev_readw (onlp_oid_id_t id,
int devaddr,
int addr 
)
+
+ +

Read a word from the target device on the given SFP port.

+
Parameters
+ + + + +
idThe SFP Port ID.
devaddrThe device address.
addrThe read address.
+
+
+
Returns
The word if successful, ONLP_STATUS_E* on error.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfpi_dev_write (onlp_oid_id_t id,
int devaddr,
int addr,
uint8_t * src,
int len 
)
+
+ +

Write bytes to the target device on the given SFP port.

+
Parameters
+ + + + + + +
idThe SFP Port ID.
devaddrThe device address.
addrWrite offset.
srcThe bytes to write.
lenWrite length.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfpi_dev_writeb (onlp_oid_id_t id,
int devaddr,
int addr,
uint8_t value 
)
+
+ +

Write a byte to the target device on the given SFP port.

+
Parameters
+ + + + + +
idThe SFP Port ID.
devaddrThe device address.
addrThe write address.
valueThe write value.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int onlp_sfpi_dev_writew (onlp_oid_id_t id,
int devaddr,
int addr,
uint16_t value 
)
+
+ +

Write a word to the target device on the given SFP port.

+
Parameters
+ + + + + +
idThe SFP Port ID.
devaddrThe device address.
addrThe write address.
valueThe write value.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_sfpi_hdr_get (onlp_oid_id_t id,
onlp_oid_hdr_thdr 
)
+
+ +

Get the SFP's OID header.

+
Parameters
+ + + +
idThe SFP oid.
[out]hdrReceives the header.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_sfpi_hw_init (uint32_t flags)
+
+ +

Hardware initialization of the SFP module.

+
Parameters
+ + +
flagsThe hardware initialization flags.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_sfpi_is_present (onlp_oid_id_t id)
+
+ +

Determine if an SFP is present.

+
Parameters
+ + +
idThe SFP Port ID.
+
+
+
Returns
1 if present
+
+0 if absent
+
+An error condition.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_sfpi_port_map (onlp_oid_id_t id,
int * rport 
)
+
+ +

Remap SFP user SFP port numbers before calling the SFPI interface.

+
Parameters
+ + + +
idThe SFP Port ID.
[out]rportReceives the new port.
+
+
+
Note
This function will be called to remap the user SFP port number to the number returned in rport before the SFPI functions are called. This is an optional convenience for platforms with dynamic or variant physical SFP numbering.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_sfpi_post_insert (onlp_oid_id_t id,
sff_info_t * info 
)
+
+ +

Perform any actions required after an SFP is inserted.

+
Parameters
+ + + +
idThe SFP Port ID.
infoThe SFF Module information structure.
+
+
+
Note
This function is optional. If your platform must adjust equalizer or preemphasis settings internally then this function should be implemented as the trigger.
+ +
+
+ +
+
+ + + + + + + + +
int onlp_sfpi_presence_bitmap_get (onlp_sfp_bitmap_tdst)
+
+ +

Return the presence bitmap for all SFP ports.

+
Parameters
+ + +
[out]dstReceives the presence bitmap.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_sfpi_rx_los_bitmap_get (onlp_sfp_bitmap_tdst)
+
+ +

Return the RX_LOS bitmap for all SFP ports.

+
Parameters
+ + +
[out]dstReceives the RX_LOS bitmap.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_sfpi_sw_denit (void )
+
+ +

Deinitialize the chassis software module.

+
Note
The primary purpose of this API is to properly deallocate any resources used by the module in order faciliate detection of real resouce leaks.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_sfpi_type_get (onlp_oid_id_t id,
onlp_sfp_type_trtype 
)
+
+ +

Determine the SFP connector type.

+
Parameters
+ + + +
idThe SFP Port ID.
[out]rtypeReceives the connector type.
+
+
+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__stdattrs.html b/packages/base/any/onlp/src/onlp/doc/html/group__stdattrs.html new file mode 100644 index 00000000..84c5ac4d --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__stdattrs.html @@ -0,0 +1,124 @@ + + + + + + +ONLP: Stdattrs + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ +
+
Stdattrs
+
+
+ + + + + +

+Data Structures

struct  onlp_asset_info_s
 This structure describes general asset information that may be associated with a particular OID. More...
 
+ + + + +

+Typedefs

+typedef struct onlp_asset_info_s onlp_asset_info_t
 This structure describes general asset information that may be associated with a particular OID.
 
+ + + + + + + + + + +

+Functions

+int onlp_asset_info_show (onlp_asset_info_t *aip, aim_pvs_t *pvs)
 Show an asset structure.
 
+int onlp_asset_info_free (onlp_asset_info_t *aip)
 Free an asset structure.
 
+int onlp_asset_info_to_json (onlp_asset_info_t *aip, cJSON **rv)
 Asset info to JSON.
 
+

Detailed Description

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/group__thermali.html b/packages/base/any/onlp/src/onlp/doc/html/group__thermali.html new file mode 100644 index 00000000..5ad63f19 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/group__thermali.html @@ -0,0 +1,341 @@ + + + + + + +ONLP: Thermals + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+ + +
+
+ + + + + + + + +

+Macros

#define ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, _parent)
 
#define ONLP_CHASSIS_THERMAL_INFO_ENTRY_INIT(_id, _desc)   ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, ONLP_OID_CHASSIS)
 
#define ONLP_PSU_THERMAL_INFO_ENTRY_INIT(_id, _desc, _psu_id)   ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, ONLP_PSU_ID_CREATE(_psu_id))
 
+ + + + + + + + + + + + + + + + +

+Functions

+int onlp_thermali_sw_init (void)
 Software initialization of the Thermal module.
 
int onlp_thermali_hw_init (uint32_t flags)
 Hardware initialization of the Thermal module. More...
 
int onlp_thermali_sw_denit (void)
 Deinitialize the thermal software module. More...
 
int onlp_thermali_hdr_get (onlp_oid_id_t id, onlp_oid_hdr_t *rv)
 Retrieve the thermal's oid header. More...
 
int onlp_thermali_info_get (onlp_oid_id_t id, onlp_thermal_info_t *rv)
 Get the information for the given thermal OID. More...
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ONLP_CHASSIS_THERMAL_INFO_ENTRY_INIT( _id,
 _desc 
)   ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, ONLP_OID_CHASSIS)
+
+

This macro should be used to statically initialize a chassis thermal info structure.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define ONLP_PSU_THERMAL_INFO_ENTRY_INIT( _id,
 _desc,
 _psu_id 
)   ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, ONLP_PSU_ID_CREATE(_psu_id))
+
+

This macro should be used to statically initialize a PSU thermal info structure.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define ONLP_THERMAL_INFO_ENTRY_INIT( _id,
 _desc,
 _parent 
)
+
+Value:
{ \
+
{ \
+
.id = ONLP_THERMAL_ID_CREATE(_id), \
+
.description = _desc, \
+
.poid = ONLP_OID_CHASSIS, \
+
.status = ONLP_OID_STATUS_FLAG_PRESENT, \
+
}, \
+ +
}
+
#define ONLP_THERMAL_CAPS_ALL
Definition: thermal.h:55
+

This macro should be used in your implementation to declare your static chassis thermal sensors.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_thermali_hdr_get (onlp_oid_id_t id,
onlp_oid_hdr_trv 
)
+
+ +

Retrieve the thermal's oid header.

+
Parameters
+ + + +
idThe thermal oid.
[out]rvReceives the header.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_thermali_hw_init (uint32_t flags)
+
+ +

Hardware initialization of the Thermal module.

+
Parameters
+ + +
flagsThe hardware initialization flags.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int onlp_thermali_info_get (onlp_oid_id_t id,
onlp_thermal_info_trv 
)
+
+ +

Get the information for the given thermal OID.

+
Parameters
+ + + +
idThe Thermal OID
[out]rvReceives the thermal information.
+
+
+ +
+
+ +
+
+ + + + + + + + +
int onlp_thermali_sw_denit (void )
+
+ +

Deinitialize the thermal software module.

+
Note
The primary purpose of this API is to properly deallocate any resources used by the module in order faciliate detection of real resouce leaks.
+ +
+
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/index.html b/packages/base/any/onlp/src/onlp/doc/html/index.html new file mode 100644 index 00000000..65e67050 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/index.html @@ -0,0 +1,97 @@ + + + + + + +ONLP: This is the main page. + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ +
+ All Data Structures Files Functions Variables Typedefs Enumerations Modules Pages
+ + +
+ +
+ +
+
+
This is the main page.
+
+
+

This is text.

+

+Section1

+

Foobar

+

+Section2

+

Foobar2

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/jquery.js b/packages/base/any/onlp/src/onlp/doc/html/jquery.js new file mode 100644 index 00000000..92dbb494 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/jquery.js @@ -0,0 +1,31 @@ +/* + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; +if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/* + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1 +},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av); +ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length; +if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b +})}})(window); diff --git a/packages/base/any/onlp/src/onlp/doc/html/led_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/led_8h_source.html new file mode 100644 index 00000000..6c11e2df --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/led_8h_source.html @@ -0,0 +1,269 @@ + + + + + + +ONLP: module/inc/onlp/led.h Source File + + + + + + + + + +
+
+
+ + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+ + + + + + + + + + +
+ +
+ + + +
+
+
led.h
+
+
+
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ************************************************************
+
21  *
+
22  * LED Management
+
23  *
+
24  ***********************************************************/
+
25 #ifndef __ONLP_LED_H__
+
26 #define __ONLP_LED_H__
+
27 
+
28 #include <onlp/onlp.h>
+
29 #include <onlp/oids.h>
+
30 
+
31 /* <auto.start.enum(tag:led).define> */
+
33 typedef enum onlp_led_caps_e {
+
34  ONLP_LED_CAPS_OFF = (1 << 0),
+
35  ONLP_LED_CAPS_AUTO = (1 << 1),
+
36  ONLP_LED_CAPS_AUTO_BLINKING = (1 << 2),
+
37  ONLP_LED_CAPS_CHAR = (1 << 3),
+
38  ONLP_LED_CAPS_RED = (1 << 4),
+
39  ONLP_LED_CAPS_RED_BLINKING = (1 << 5),
+
40  ONLP_LED_CAPS_ORANGE = (1 << 6),
+
41  ONLP_LED_CAPS_ORANGE_BLINKING = (1 << 7),
+
42  ONLP_LED_CAPS_YELLOW = (1 << 8),
+
43  ONLP_LED_CAPS_YELLOW_BLINKING = (1 << 9),
+
44  ONLP_LED_CAPS_GREEN = (1 << 10),
+
45  ONLP_LED_CAPS_GREEN_BLINKING = (1 << 11),
+
46  ONLP_LED_CAPS_BLUE = (1 << 12),
+
47  ONLP_LED_CAPS_BLUE_BLINKING = (1 << 13),
+
48  ONLP_LED_CAPS_PURPLE = (1 << 14),
+
49  ONLP_LED_CAPS_PURPLE_BLINKING = (1 << 15),
+
50 } onlp_led_caps_t;
+
51 
+
53 typedef enum onlp_led_mode_e {
+
54  ONLP_LED_MODE_OFF,
+
55  ONLP_LED_MODE_AUTO,
+
56  ONLP_LED_MODE_AUTO_BLINKING,
+
57  ONLP_LED_MODE_CHAR,
+
58  ONLP_LED_MODE_RED,
+
59  ONLP_LED_MODE_RED_BLINKING,
+
60  ONLP_LED_MODE_ORANGE,
+
61  ONLP_LED_MODE_ORANGE_BLINKING,
+
62  ONLP_LED_MODE_YELLOW,
+
63  ONLP_LED_MODE_YELLOW_BLINKING,
+
64  ONLP_LED_MODE_GREEN,
+
65  ONLP_LED_MODE_GREEN_BLINKING,
+
66  ONLP_LED_MODE_BLUE,
+
67  ONLP_LED_MODE_BLUE_BLINKING,
+
68  ONLP_LED_MODE_PURPLE,
+
69  ONLP_LED_MODE_PURPLE_BLINKING,
+
70  ONLP_LED_MODE_LAST = ONLP_LED_MODE_PURPLE_BLINKING,
+
71  ONLP_LED_MODE_COUNT,
+
72  ONLP_LED_MODE_INVALID = -1,
+
73 } onlp_led_mode_t;
+
74 /* <auto.end.enum(tag:led).define> */
+
75 
+
76 
+
80 typedef struct onlp_led_info_s {
+ +
83 
+
85  uint32_t caps;
+
86 
+
88  onlp_led_mode_t mode;
+
89 
+
91  char character;
+
92 
+ +
94 
+
98 int onlp_led_sw_init(void);
+
99 
+
103 int onlp_led_hw_init(uint32_t flags);
+
104 
+
111 int onlp_led_sw_denit(void);
+
112 
+
118 int onlp_led_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* rv);
+
119 
+
120 
+
126 int onlp_led_info_get(onlp_oid_t id, onlp_led_info_t* rv);
+
127 
+
134 int onlp_led_mode_set(onlp_oid_t id, onlp_led_mode_t mode);
+
135 
+
136 
+
143 int onlp_led_char_set(onlp_oid_t id, char c);
+
144 
+
151 int onlp_led_info_to_user_json(onlp_led_info_t* info, cJSON** cj, uint32_t flags);
+
152 
+
159 int onlp_led_info_to_json(onlp_led_info_t* info, cJSON** cj, uint32_t flags);
+
160 
+
166 int onlp_led_info_from_json(cJSON* cj, onlp_led_info_t* info);
+
167 
+
168 /******************************************************************************
+
169  *
+
170  * Enumeration Support Definitions.
+
171  *
+
172  * Please do not add additional code beyond this point.
+
173  *
+
174  *****************************************************************************/
+
175 /* <auto.start.enum(tag:led).supportheader> */
+
177 const char* onlp_led_caps_name(onlp_led_caps_t e);
+
178 
+
180 int onlp_led_caps_value(const char* str, onlp_led_caps_t* e, int substr);
+
181 
+
183 const char* onlp_led_caps_desc(onlp_led_caps_t e);
+
184 
+
186 int onlp_led_caps_valid(onlp_led_caps_t e);
+
187 
+
189 #define ONLP_LED_CAPS_VALID(_e) \
+
190  (onlp_led_caps_valid((_e)))
+
191 
+
193 extern aim_map_si_t onlp_led_caps_map[];
+
195 extern aim_map_si_t onlp_led_caps_desc_map[];
+
196 
+
198 #define ONLP_LED_MODE_STRINGS \
+
199 {\
+
200  "OFF", \
+
201  "AUTO", \
+
202  "AUTO_BLINKING", \
+
203  "CHAR", \
+
204  "RED", \
+
205  "RED_BLINKING", \
+
206  "ORANGE", \
+
207  "ORANGE_BLINKING", \
+
208  "YELLOW", \
+
209  "YELLOW_BLINKING", \
+
210  "GREEN", \
+
211  "GREEN_BLINKING", \
+
212  "BLUE", \
+
213  "BLUE_BLINKING", \
+
214  "PURPLE", \
+
215  "PURPLE_BLINKING", \
+
216 }
+
217 
+
218 const char* onlp_led_mode_name(onlp_led_mode_t e);
+
219 
+
221 int onlp_led_mode_value(const char* str, onlp_led_mode_t* e, int substr);
+
222 
+
224 const char* onlp_led_mode_desc(onlp_led_mode_t e);
+
225 
+
227 #define ONLP_LED_MODE_VALID(_e) \
+
228  ( (0 <= (_e)) && ((_e) <= ONLP_LED_MODE_PURPLE_BLINKING))
+
229 
+
231 extern aim_map_si_t onlp_led_mode_map[];
+
233 extern aim_map_si_t onlp_led_mode_desc_map[];
+
234 /* <auto.end.enum(tag:led).supportheader> */
+
235 
+
236 #endif /* __ONLP_LED_H__ */
+
onlp_led_mode_t mode
Definition: led.h:88
+
onlp_oid_hdr_t hdr
Definition: led.h:82
+
uint32_t caps
Definition: led.h:85
+
char character
Definition: led.h:91
+
Definition: led.h:80
+
Definition: oids.h:212
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/ledi_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/ledi_8h_source.html new file mode 100644 index 00000000..fd0554d5 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/ledi_8h_source.html @@ -0,0 +1,163 @@ + + + + + + +ONLP: module/inc/onlp/platformi/ledi.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
ledi.h
+
+
+
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ************************************************************
+
21  *
+
22  * LED Platform Implementation.
+
23  *
+
24  ***********************************************************/
+
25 #ifndef __ONLP_LEDI_H__
+
26 #define __ONLP_LEDI_H__
+
27 
+
28 #include <onlp/led.h>
+
29 
+
33 int onlp_ledi_sw_init(void);
+
34 
+
39 int onlp_ledi_hw_init(uint32_t flags);
+
40 
+
47 int onlp_ledi_sw_denit(void);
+
48 
+
54 int onlp_ledi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* rv);
+
55 
+
61 int onlp_ledi_info_get(onlp_oid_id_t id, onlp_led_info_t* rv);
+
62 
+
69 int onlp_ledi_mode_set(onlp_oid_id_t id, onlp_led_mode_t mode);
+
70 
+
77 int onlp_ledi_char_set(onlp_oid_id_t id, char c);
+
78 
+
79 #define ONLP_LED_INFO_ENTRY_INIT(_id, _desc, _parent, _caps) \
+
80  { \
+
81  { \
+
82  .id = ONLP_LED_ID_CREATE(_id), \
+
83  .description = _desc, \
+
84  .poid = ONLP_OID_CHASSIS, \
+
85  .status = ONLP_OID_STATUS_FLAG_PRESENT, \
+
86  }, \
+
87  .caps = _caps, \
+
88  }
+
89 
+
90 #define ONLP_CHASSIS_LED_INFO_ENTRY_INIT(_id, _desc, _caps) \
+
91  ONLP_LED_INFO_ENTRY_INIT(_id, _desc, ONLP_OID_CHASSIS, _caps)
+
92 
+
93 #define ONLP_PSU_LED_INFO_ENTRY_INIT(_id, _desc, _psu_id, _caps) \
+
94  ONLP_LED_INFO_ENTRY_INIT(_id, _desc, ONLP_PSU_ID_CREATE(_psu_id), _caps)
+
95 
+
96 #endif /* __ONLP_LED_H__ */
+
Definition: led.h:80
+
Definition: oids.h:212
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/module_8h.html b/packages/base/any/onlp/src/onlp/doc/html/module_8h.html new file mode 100644 index 00000000..e95a4810 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/module_8h.html @@ -0,0 +1,157 @@ + + + + + + +ONLP: module/inc/onlp/module.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
module.h File Reference
+
+
+ +

Module OID Interface. +More...

+
#include <onlp/onlp_config.h>
+#include <onlp/onlp.h>
+#include <onlplib/onie.h>
+#include <onlplib/pi.h>
+#include <onlp/oids.h>
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  onlp_module_info_s
 Module OID Information Structure. More...
 
+ + + + +

+Typedefs

+typedef struct onlp_module_info_s onlp_module_info_t
 Module OID Information Structure.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int onlp_module_sw_init (void)
 Initialize the module software module. More...
 
int onlp_module_hw_init (uint32_t flags)
 Initialize the module. More...
 
int onlp_module_sw_denit (void)
 Deinitialize the module software module. More...
 
int onlp_module_hdr_get (onlp_oid_t oid, onlp_oid_hdr_t *hdr)
 Get the module header structure. More...
 
int onlp_module_info_get (onlp_oid_t oid, onlp_module_info_t *info)
 Get the module info structure. More...
 
int onlp_module_info_to_user_json (onlp_module_info_t *info, cJSON **rv, uint32_t flags)
 Convert a module info structure to user JSON. More...
 
int onlp_module_info_to_json (onlp_module_info_t *info, cJSON **rv, uint32_t flags)
 Convert a module info structure to JSON. More...
 
int onlp_module_info_from_json (cJSON *cj, onlp_module_info_t *info)
 Convert a JSON object to a module info structure. More...
 
+

Detailed Description

+

Module OID Interface.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/module_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/module_8h_source.html new file mode 100644 index 00000000..a33cd53f --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/module_8h_source.html @@ -0,0 +1,167 @@ + + + + + + +ONLP: module/inc/onlp/module.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
module.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
29 #ifndef __ONLP_MODULE_H__
+
30 #define __ONLP_MODULE_H__
+
31 
+
32 #include <onlp/onlp_config.h>
+
33 #include <onlp/onlp.h>
+
34 #include <onlplib/onie.h>
+
35 #include <onlplib/pi.h>
+
36 #include <onlp/oids.h>
+
37 
+
41 typedef struct onlp_module_info_s {
+ +
44 
+
45  /* Module objects have no dedicated fields. */
+
46 
+ +
48 
+
54 int onlp_module_sw_init(void);
+
55 
+
60 int onlp_module_hw_init(uint32_t flags);
+
61 
+
68 int onlp_module_sw_denit(void);
+
69 
+
75 int onlp_module_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* hdr);
+
76 
+
82 int onlp_module_info_get(onlp_oid_t oid, onlp_module_info_t* info);
+
83 
+
90 int onlp_module_info_to_user_json(onlp_module_info_t* info, cJSON** rv, uint32_t flags);
+
91 
+
98 int onlp_module_info_to_json(onlp_module_info_t* info, cJSON** rv, uint32_t flags);
+
99 
+
105 int onlp_module_info_from_json(cJSON* cj, onlp_module_info_t* info);
+
106 
+
107 #endif /* __ONLP_MODULE_H_ */
+
108 /* @} */
+
onlp Configuration Header
+
int onlp_module_info_from_json(cJSON *cj, onlp_module_info_t *info)
Convert a JSON object to a module info structure.
+
int onlp_module_info_to_json(onlp_module_info_t *info, cJSON **rv, uint32_t flags)
Convert a module info structure to JSON.
+
int onlp_module_sw_init(void)
Initialize the module software module.
+
int onlp_module_info_to_user_json(onlp_module_info_t *info, cJSON **rv, uint32_t flags)
Convert a module info structure to user JSON.
+
int onlp_module_hw_init(uint32_t flags)
Initialize the module.
+
onlp_oid_hdr_t hdr
Definition: module.h:43
+
int onlp_module_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t *hdr)
Get the module header structure.
+
Module OID Information Structure.
Definition: module.h:41
+
Definition: oids.h:212
+
struct onlp_module_info_s onlp_module_info_t
Module OID Information Structure.
+
int onlp_module_sw_denit(void)
Deinitialize the module software module.
+
int onlp_module_info_get(onlp_oid_t oid, onlp_module_info_t *info)
Get the module info structure.
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/modules.html b/packages/base/any/onlp/src/onlp/doc/html/modules.html new file mode 100644 index 00000000..8b92e3d0 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/modules.html @@ -0,0 +1,119 @@ + + + + + + +ONLP: Modules + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
Modules
+
+ + + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/nav_f.png b/packages/base/any/onlp/src/onlp/doc/html/nav_f.png new file mode 100644 index 00000000..72a58a52 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/nav_f.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/nav_g.png b/packages/base/any/onlp/src/onlp/doc/html/nav_g.png new file mode 100644 index 00000000..2093a237 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/nav_g.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/nav_h.png b/packages/base/any/onlp/src/onlp/doc/html/nav_h.png new file mode 100644 index 00000000..33389b10 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/nav_h.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/oids_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/oids_8h_source.html new file mode 100644 index 00000000..f0767fc4 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/oids_8h_source.html @@ -0,0 +1,436 @@ + + + + + + +ONLP: module/inc/onlp/oids.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
oids.h
+
+
+
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ************************************************************
+
21  *
+
22  * ONLP Platform Object Identifiers.
+
23  *
+
24  ***********************************************************/
+
25 #ifndef __ONLP_OID_H__
+
26 #define __ONLP_OID_H__
+
27 
+
28 #include <onlp/onlp_config.h>
+
29 
+
30 #include <stdint.h>
+
31 #include <AIM/aim_pvs.h>
+
32 #include <IOF/iof.h>
+
33 #include <BigList/biglist.h>
+
34 #include <cjson/cJSON.h>
+
35 
+
49 typedef uint32_t onlp_oid_t;
+
50 typedef uint32_t onlp_oid_id_t;
+
51 
+
52 /* <auto.start.enum(tag:oid).define> */
+
54 typedef enum onlp_oid_json_flag_e {
+
55  ONLP_OID_JSON_FLAG_RECURSIVE = (1 << 0),
+
56  ONLP_OID_JSON_FLAG_UNSUPPORTED_FIELDS = (1 << 1),
+
57  ONLP_OID_JSON_FLAG_TO_USER_JSON = (1 << 2),
+
58 } onlp_oid_json_flag_t;
+
59 
+
61 typedef enum onlp_oid_status_flag_e {
+
62  ONLP_OID_STATUS_FLAG_PRESENT = (1 << 0),
+
63  ONLP_OID_STATUS_FLAG_FAILED = (1 << 1),
+
64  ONLP_OID_STATUS_FLAG_OPERATIONAL = (1 << 2),
+
65  ONLP_OID_STATUS_FLAG_UNPLUGGED = (1 << 3),
+
66 } onlp_oid_status_flag_t;
+
67 
+
69 typedef enum onlp_oid_type_e {
+
70  ONLP_OID_TYPE_CHASSIS = 1,
+
71  ONLP_OID_TYPE_MODULE = 2,
+
72  ONLP_OID_TYPE_THERMAL = 3,
+
73  ONLP_OID_TYPE_FAN = 4,
+
74  ONLP_OID_TYPE_PSU = 5,
+
75  ONLP_OID_TYPE_LED = 6,
+
76  ONLP_OID_TYPE_SFP = 7,
+
77  ONLP_OID_TYPE_GENERIC = 8,
+
78 } onlp_oid_type_t;
+
79 
+
81 typedef enum onlp_oid_type_flag_e {
+
82  ONLP_OID_TYPE_FLAG_CHASSIS = (1 << 1),
+
83  ONLP_OID_TYPE_FLAG_MODULE = (1 << 2),
+
84  ONLP_OID_TYPE_FLAG_THERMAL = (1 << 3),
+
85  ONLP_OID_TYPE_FLAG_FAN = (1 << 4),
+
86  ONLP_OID_TYPE_FLAG_PSU = (1 << 5),
+
87  ONLP_OID_TYPE_FLAG_LED = (1 << 6),
+
88  ONLP_OID_TYPE_FLAG_SFP = (1 << 7),
+
89  ONLP_OID_TYPE_FLAG_GENERIC = (1 << 8),
+
90 } onlp_oid_type_flag_t;
+
91 /* <auto.end.enum(tag:oid).define> */
+
92 
+
96 typedef uint32_t onlp_oid_type_flags_t;
+
97 
+
101 typedef uint32_t onlp_oid_status_flags_t;
+
102 
+
106 #define ONLP_OID_TYPE_GET(_id) ( ( (_id) >> 24) )
+
107 #define ONLP_OID_TYPE_CREATE(_type, _id) ( ( (_type) << 24) | (_id))
+
108 #define ONLP_OID_IS_TYPE(_type,_id) (ONLP_OID_TYPE_GET((_id)) == _type)
+
109 #define ONLP_OID_ID_GET(_id) (_id & 0xFFFFFF)
+
110 #define ONLP_OID_TYPE_VALIDATE(_type, _oid) \
+
111  do { \
+
112  if(!ONLP_OID_IS_TYPE(_type, _oid)) { \
+
113  return ONLP_STATUS_E_PARAM; \
+
114  } \
+
115 } while(0)
+
116 
+
117 #define ONLP_OID_TYPE_VALIDATE_NR(_type, _oid) \
+
118  do { \
+
119  if(!ONLP_OID_IS_TYPE(_type, _oid)) { \
+
120  return; \
+
121  } \
+
122  } while(0)
+
123 
+
124 #define ONLP_OID_TYPE_VALIDATE_GET_ID(_type, _oid, _id) \
+
125  do { \
+
126  ONLP_OID_TYPE_VALIDATE(_type, _oid); \
+
127  _id = ONLP_OID_ID_GET(_oid); \
+
128  } while(0)
+
129 
+
130 #define ONLP_OID_TYPE_VALIDATE_GET_ID_NR(_type, _oid, _id) \
+
131  do { \
+
132  ONLP_OID_TYPE_VALIDATE_NR(_type, _oid); \
+
133  _id = ONLP_OID_ID_GET(_oid); \
+
134  }
+
135 
+
136 #define ONLP_OID_IS_TYPE_FLAGS(_flags, _id) ((_flags & (1 << ONLP_OID_TYPE_GET(_id))))
+
137 #define ONLP_OID_IS_TYPE_FLAGSZ(_flags, _id) ((_flags == 0) || ONLP_OID_IS_TYPE_FLAGS(_flags, _id))
+
138 
+
139 #define ONLP_CHASSIS_ID_CREATE(_id) ONLP_OID_TYPE_CREATE(ONLP_OID_TYPE_CHASSIS, _id)
+
140 #define ONLP_THERMAL_ID_CREATE(_id) ONLP_OID_TYPE_CREATE(ONLP_OID_TYPE_THERMAL, _id)
+
141 #define ONLP_FAN_ID_CREATE(_id) ONLP_OID_TYPE_CREATE(ONLP_OID_TYPE_FAN, _id)
+
142 #define ONLP_PSU_ID_CREATE(_id) ONLP_OID_TYPE_CREATE(ONLP_OID_TYPE_PSU, _id)
+
143 #define ONLP_LED_ID_CREATE(_id) ONLP_OID_TYPE_CREATE(ONLP_OID_TYPE_LED, _id)
+
144 #define ONLP_SFP_ID_CREATE(_id) ONLP_OID_TYPE_CREATE(ONLP_OID_TYPE_SFP, _id)
+
145 #define ONLP_MODULE_ID_CREATE(_id) ONLP_OID_TYPE_CREATE(ONLP_OID_TYPE_MODULE, _id)
+
146 
+
147 #define ONLP_OID_IS_CHASSIS(_id) ONLP_OID_IS_TYPE(ONLP_OID_TYPE_CHASSIS, _id)
+
148 #define ONLP_OID_CHASSIS_VALIDATE(_id) ONLP_OID_TYPE_VALIDATE(ONLP_OID_TYPE_CHASSIS, _id)
+
149 #define ONLP_OID_CHASSIS_VALIDATE_NR(_id) ONLP_OID_TYPE_VALIDATE_NR(ONLP_OID_TYPE_CHASSIS, _id)
+
150 
+
151 #define ONLP_OID_IS_THERMAL(_id) ONLP_OID_IS_TYPE(ONLP_OID_TYPE_THERMAL, _id)
+
152 #define ONLP_OID_THERMAL_VALIDATE(_id) ONLP_OID_TYPE_VALIDATE(ONLP_OID_TYPE_THERMAL, _id)
+
153 #define ONLP_OID_THERMAL_VALIDATE_NR(_id) ONLP_OID_TYPE_VALIDATE_NR(ONLP_OID_TYPE_THERMAL, _id)
+
154 #define ONLP_OID_THERMAL_VALIDATE_GET_ID(_oid, _id) ONLP_OID_TYPE_VALIDATE_GET_ID(ONLP_OID_TYPE_THERMAL, _oid, _id)
+
155 #define ONLP_OID_THERMAL_VALIDATE_GET_ID_NR(_oid, _id) ONLP_OID_TYPE_VALIDATE_GET_ID_NR(ONLP_OID_TYPE_THERMAL, _oid, _id)
+
156 
+
157 #define ONLP_OID_IS_FAN(_id) ONLP_OID_IS_TYPE(ONLP_OID_TYPE_FAN, _id)
+
158 #define ONLP_OID_FAN_VALIDATE(_id) ONLP_OID_TYPE_VALIDATE(ONLP_OID_TYPE_FAN, _id)
+
159 #define ONLP_OID_FAN_VALIDATE_NR(_id) ONLP_OID_TYPE_VALIDATE_NR(ONLP_OID_TYPE_FAN, _id)
+
160 
+
161 #define ONLP_OID_IS_PSU(_id) ONLP_OID_IS_TYPE(ONLP_OID_TYPE_PSU, _id)
+
162 #define ONLP_OID_PSU_VALIDATE(_id) ONLP_OID_TYPE_VALIDATE(ONLP_OID_TYPE_PSU, _id)
+
163 #define ONLP_OID_PSU_VALIDATE_NR(_id) ONLP_OID_TYPE_VALIDATE_NR(ONLP_OID_TYPE_PSU, _id)
+
164 
+
165 #define ONLP_OID_IS_LED(_id) ONLP_OID_IS_TYPE(ONLP_OID_TYPE_LED, _id)
+
166 #define ONLP_OID_LED_VALIDATE(_id) ONLP_OID_TYPE_VALIDATE(ONLP_OID_TYPE_LED, _id)
+
167 #define ONLP_OID_LED_VALIDATE_NR(_id) ONLP_OID_TYPE_VALIDATE_NR(ONLP_OID_TYPE_LED, _id)
+
168 
+
169 #define ONLP_OID_IS_SFP(_id) ONLP_OID_IS_TYPE(ONLP_OID_TYPE_SFP, _id)
+
170 #define ONLP_OID_SFP_VALIDATE(_id) ONLP_OID_TYPE_VALIDATE(ONLP_OID_TYPE_SFP, _id)
+
171 #define ONLP_OID_SFP_VALIDATE_NR(_id) ONLP_OID_TYPE_VALIDATE_NR(ONLP_OID_TYPE_SFP, _id)
+
172 
+
173 #define ONLP_OID_IS_MODULE(_id) ONLP_OID_IS_TYPE(ONLP_OID_TYPE_MODULE, _id)
+
174 #define ONLP_OID_MODULE_VALIDATE(_id) ONLP_OID_TYPE_VALIDATE(ONLP_OID_TYPE_MODULE, _id)
+
175 #define ONLP_OID_MODULE_VALIDATE_NR(_id) ONLP_OID_TYPE_VALIDATE_NR(ONLP_OID_TYPE_MODULE, _id)
+
176 
+
177 #define ONLP_OID_IS_GENERIC(_id) ONLP_OID_IS_TYPE(ONLP_OID_TYPE_GENERIC, _id)
+
178 #define ONLP_OID_GENERIC_VALIDATE(_id) ONLP_OID_TYPE_VALIDATE(ONLP_OID_TYPE_GENERIC, _id)
+
179 #define ONLP_OID_GENERIC_VALIDATE_NR(_id) ONLP_OID_TYPE_VALIDATE_NR(ONLP_OID_TYPE_GENERIC, _id)
+
180 
+
181 
+
185 #define ONLP_OID_CHASSIS ONLP_OID_TYPE_CREATE(ONLP_OID_TYPE_CHASSIS, 1)
+
186 
+
190 #define ONLP_OID_DESC_SIZE 128
+
191 
+
192 typedef char onlp_oid_desc_t[ONLP_OID_DESC_SIZE];
+
193 
+
194 /* fixme */
+
195 #define ONLP_OID_TABLE_SIZE 256
+
196 typedef onlp_oid_t onlp_oid_table_t[ONLP_OID_TABLE_SIZE];
+
197 #define ONLP_OID_TABLE_SIZE_BYTES (sizeof(onlp_oid_t)*ONLP_OID_TABLE_SIZE)
+
198 #define ONLP_OID_TABLE_COPY(_dst, _src) memcpy(_dst, _src, ONLP_OID_TABLE_SIZE_BYTES)
+
199 #define ONLP_OID_TABLE_CLEAR(_table) memset(_table, 0, ONLP_OID_TABLE_SIZE_BYTES)
+
200 
+
201 
+
205 #define ONLP_OID_THERMAL_ENTRY(_id, _desc, _parent_type, _parent_id) \
+
206  { ONLP_THERMAL_ID_CREATE(_id), _desc, ONLP_OID_TYPE_CREATE(_parent_type, _parent_id) }
+
207 
+
208 
+
212 typedef struct onlp_oid_hdr_s {
+
214  onlp_oid_t id;
+
216  onlp_oid_desc_t description;
+
218  onlp_oid_t poid;
+
220  onlp_oid_table_t coids;
+
221 
+
223  onlp_oid_status_flags_t status;
+
224 
+ +
226 
+
227 
+
233 int onlp_oid_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* hdr);
+
234 
+
240 int onlp_oid_info_get(onlp_oid_t oid, onlp_oid_hdr_t** info);
+
241 
+
242 
+
246 typedef int (*onlp_oid_iterate_f)(onlp_oid_t oid, void* cookie);
+
247 
+
255 int onlp_oid_iterate(onlp_oid_t oid, onlp_oid_type_flags_t types,
+
256  onlp_oid_iterate_f itf, void* cookie);
+
257 
+
258 
+
259 int onlp_oid_info_get_all(onlp_oid_t root, onlp_oid_type_flags_t types,
+
260  uint32_t flags, biglist_t** list);
+
261 
+
262 int onlp_oid_hdr_get_all(onlp_oid_t root, onlp_oid_type_flags_t types,
+
263  uint32_t flags, biglist_t** list);
+
264 
+
265 int onlp_oid_get_all_free(biglist_t* list);
+
266 
+
270 #define ONLP_OID_STATUS_FLAGS_GET(_ptr) \
+
271  (((onlp_oid_hdr_t*)_ptr)->status)
+
272 
+
273 #define ONLP_OID_STATUS_FLAG_GET_VALUE(_ptr, _name) \
+
274  AIM_FLAG_GET_VALUE(ONLP_OID_STATUS_FLAGS_GET(_ptr), ONLP_OID_STATUS_FLAG_##_name)
+
275 
+
276 #define ONLP_OID_STATUS_FLAG_SET_VALUE(_ptr, _name, _value) \
+
277  AIM_FLAG_SET_VALUE(ONLP_OID_STATUS_FLAGS_GET(_ptr), ONLP_OID_STATUS_FLAG_##_name, _value)
+
278 
+
279 #define ONLP_OID_STATUS_FLAG_SET(_ptr, _name) \
+
280  AIM_FLAG_SET(ONLP_OID_STATUS_FLAGS_GET(_ptr), ONLP_OID_STATUS_FLAG_##_name)
+
281 
+
282 #define ONLP_OID_STATUS_FLAG_CLR(_ptr, _name) \
+
283  AIM_FLAG_CLR(ONLP_OID_STATUS_FLAGS_GET(_ptr), ONLP_OID_STATUS_FLAG_##_name)
+
284 
+
285 #define ONLP_OID_STATUS_FLAG_IS_SET(_ptr, _name) \
+
286  AIM_FLAG_IS_SET(ONLP_OID_STATUS_FLAGS_GET(_ptr), ONLP_OID_STATUS_FLAG_##_name)
+
287 
+
288 #define ONLP_OID_STATUS_FLAG_NOT_SET(_ptr, _name) \
+
289  AIM_FLAG_NOT_SET(ONLP_OID_STATUS_FLAGS_GET(_ptr), ONLP_OID_STATUS_FLAG_##_name)
+
290 
+
294 #define ONLP_OID_PRESENT(_ptr) \
+
295  ONLP_OID_STATUS_FLAG_IS_SET(_ptr, PRESENT)
+
296 
+
297 #define ONLP_OID_FAILED(_ptr) \
+
298  ONLP_OID_STATUS_FLAG_IS_SET(_ptr, FAILED)
+
299 
+
306 #define ONLP_OID_TABLE_ITER_EXPR(_table, _oidp, _expr) \
+
307  for(_oidp = _table; _oidp < (_table+ONLP_OID_TABLE_SIZE); _oidp++) \
+
308  if( (*_oidp) && (_expr) )
+
309 
+
315 #define ONLP_OID_TABLE_ITER(_table, _oidp) ONLP_OID_TABLE_ITER_EXPR(_table, _oidp, 1)
+
316 
+
324 #define ONLP_OID_TABLE_ITER_TYPE(_table, _oidp, _type) \
+
325  ONLP_OID_TABLE_ITER_EXPR(_table, _oidp, ONLP_OID_IS_TYPE(ONLP_OID_TYPE_##_type, *_oidp))
+
326 
+
327 
+
331 int onlp_oid_is_present(onlp_oid_t* oid);
+
332 
+
333 
+
337 int onlp_oid_to_str(onlp_oid_t oid, char* rstr);
+
338 int onlp_oid_to_user_str(onlp_oid_t oid, char* rstr);
+
339 
+
343 int onlp_oid_from_str(char* str, onlp_oid_t* roid);
+
344 
+
350 int onlp_oid_table_to_json(onlp_oid_table_t table, cJSON** cjp);
+
351 
+
357 int onlp_oid_table_from_json(cJSON* cj, onlp_oid_table_t table);
+
358 
+
364 int onlp_oid_hdr_to_json(onlp_oid_hdr_t* hdr, cJSON** cj, uint32_t flags);
+
365 
+
371 int onlp_oid_hdr_from_json(cJSON* cj, onlp_oid_hdr_t* hdr);
+
372 
+
373 int onlp_oid_info_to_json(onlp_oid_hdr_t* info, cJSON** cj, uint32_t flags);
+
377 int onlp_oid_to_user_json(onlp_oid_t oid, cJSON** rv, uint32_t flags);
+
378 int onlp_oid_to_json(onlp_oid_t oid, cJSON** rv, uint32_t flags);
+
379 int onlp_oid_from_json(cJSON* cj, onlp_oid_hdr_t** hdr, biglist_t** all, uint32_t flags);
+
380 
+
384 int onlp_oid_json_verify(onlp_oid_t oid);
+
385 
+
386 /******************************************************************************
+
387  *
+
388  * Enumeration Support Definitions.
+
389  *
+
390  * Please do not add additional code beyond this point.
+
391  *
+
392  *****************************************************************************/
+
393 /* <auto.start.enum(tag:oid).supportheader> */
+
395 const char* onlp_oid_json_flag_name(onlp_oid_json_flag_t e);
+
396 
+
398 int onlp_oid_json_flag_value(const char* str, onlp_oid_json_flag_t* e, int substr);
+
399 
+
401 const char* onlp_oid_json_flag_desc(onlp_oid_json_flag_t e);
+
402 
+
404 int onlp_oid_json_flag_valid(onlp_oid_json_flag_t e);
+
405 
+
407 #define ONLP_OID_JSON_FLAG_VALID(_e) \
+
408  (onlp_oid_json_flag_valid((_e)))
+
409 
+
411 extern aim_map_si_t onlp_oid_json_flag_map[];
+
413 extern aim_map_si_t onlp_oid_json_flag_desc_map[];
+
414 
+
416 const char* onlp_oid_status_flag_name(onlp_oid_status_flag_t e);
+
417 
+
419 int onlp_oid_status_flag_value(const char* str, onlp_oid_status_flag_t* e, int substr);
+
420 
+
422 const char* onlp_oid_status_flag_desc(onlp_oid_status_flag_t e);
+
423 
+
425 int onlp_oid_status_flag_valid(onlp_oid_status_flag_t e);
+
426 
+
428 #define ONLP_OID_STATUS_FLAG_VALID(_e) \
+
429  (onlp_oid_status_flag_valid((_e)))
+
430 
+
432 extern aim_map_si_t onlp_oid_status_flag_map[];
+
434 extern aim_map_si_t onlp_oid_status_flag_desc_map[];
+
435 
+
437 const char* onlp_oid_type_name(onlp_oid_type_t e);
+
438 
+
440 int onlp_oid_type_value(const char* str, onlp_oid_type_t* e, int substr);
+
441 
+
443 const char* onlp_oid_type_desc(onlp_oid_type_t e);
+
444 
+
446 int onlp_oid_type_valid(onlp_oid_type_t e);
+
447 
+
449 #define ONLP_OID_TYPE_VALID(_e) \
+
450  (onlp_oid_type_valid((_e)))
+
451 
+
453 extern aim_map_si_t onlp_oid_type_map[];
+
455 extern aim_map_si_t onlp_oid_type_desc_map[];
+
456 
+
458 const char* onlp_oid_type_flag_name(onlp_oid_type_flag_t e);
+
459 
+
461 int onlp_oid_type_flag_value(const char* str, onlp_oid_type_flag_t* e, int substr);
+
462 
+
464 const char* onlp_oid_type_flag_desc(onlp_oid_type_flag_t e);
+
465 
+
467 int onlp_oid_type_flag_valid(onlp_oid_type_flag_t e);
+
468 
+
470 #define ONLP_OID_TYPE_FLAG_VALID(_e) \
+
471  (onlp_oid_type_flag_valid((_e)))
+
472 
+
474 extern aim_map_si_t onlp_oid_type_flag_map[];
+
476 extern aim_map_si_t onlp_oid_type_flag_desc_map[];
+
477 /* <auto.end.enum(tag:oid).supportheader> */
+
478 
+
479 #endif /* __ONLP_OID_H__ */
+
onlp Configuration Header
+
onlp_oid_status_flags_t status
Definition: oids.h:223
+
onlp_oid_table_t coids
Definition: oids.h:220
+
onlp_oid_t id
Definition: oids.h:214
+
onlp_oid_desc_t description
Definition: oids.h:216
+
onlp_oid_t poid
Definition: oids.h:218
+
Definition: oids.h:212
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/onlp_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/onlp_8h_source.html new file mode 100644 index 00000000..31452cac --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/onlp_8h_source.html @@ -0,0 +1,217 @@ + + + + + + +ONLP: module/inc/onlp/onlp.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
onlp.h
+
+
+
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ************************************************************
+
21  *
+
22  *
+
23  *
+
24  ***********************************************************/
+
25 #ifndef __ONLP_ONLP_H__
+
26 #define __ONLP_ONLP_H__
+
27 
+
28 #include <onlp/onlp_config.h>
+
29 
+
30 /* <auto.start.enum(tag:onlp).define> */
+
32 typedef enum onlp_status_e {
+
33  ONLP_STATUS_OK = 0,
+
34  ONLP_STATUS_E_GENERIC = -1,
+
35  ONLP_STATUS_E_UNSUPPORTED = -10,
+
36  ONLP_STATUS_E_MISSING = -11,
+
37  ONLP_STATUS_E_INVALID = -12,
+
38  ONLP_STATUS_E_INTERNAL = -13,
+
39  ONLP_STATUS_E_PARAM = -14,
+
40  ONLP_STATUS_E_I2C = -15,
+
41 } onlp_status_t;
+
42 /* <auto.end.enum(tag:onlp).define> */
+
43 
+
44 #define ONLP_IF_ERROR_RETURN(_expr) \
+
45  do { \
+
46  int _rv = (_expr); \
+
47  if(_rv < 0) { \
+
48  return _rv; \
+
49  } \
+
50  } while(0)
+
51 
+
52 #define ONLP_FAILURE(_rv) ((_rv) < 0)
+
53 #define ONLP_SUCCESS(_rv) (!(ONLP_FAILURE(_rv)))
+
54 #define ONLP_UNSUPPORTED(_rv) \
+
55  ((_rv) == ONLP_STATUS_E_UNSUPPORTED)
+
56 
+
57 #define ONLP_TRY(_expr) \
+
58  do { \
+
59  int _rv = (_expr); \
+
60  if(ONLP_FAILURE(_rv)) { \
+
61  AIM_LOG_ERROR("%s returned %{onlp_status}", #_expr, _rv); \
+
62  return _rv; \
+
63  } \
+
64  } while(0)
+
65 
+
66 #define ONLP_SUPPORTED(_rv) \
+
67  (ONLP_SUCCESS(_rv) || !ONLP_UNSUPPORTED(_rv))
+
68 
+
69 #define ONLP_RETURN_IF_SUPPORTED(_expr) \
+
70  do { \
+
71  int _rv = _expr; \
+
72  if(ONLP_SUPPORTED(_rv)) { \
+
73  return _rv; \
+
74  } \
+
75  } while(0)
+
76 
+
80 int onlp_sw_init(const char* platform);
+
81 
+
82 int onlp_hw_init(uint32_t flags);
+
83 
+
84 int onlp_sw_denit(void);
+
85 
+
91 void onlp_platform_dump(aim_pvs_t* pvs, uint32_t flags);
+
92 void onlp_platform_show(aim_pvs_t* pvs, uint32_t flags);
+
93 
+
95 #define ONLP_MILLI_NORMAL_INTEGER(_m) (_m / 1000)
+
96 #define ONLP_MILLI_NORMAL_TENTHS(_m) ( (_m % 1000) / 100)
+
97 #define ONLP_MILLI_NORMAL_INTEGER_TENTHS(_m) ONLP_MILLI_NORMAL_INTEGER(_m), ONLP_MILLI_NORMAL_TENTHS(_m)
+
98 
+
99 
+
100 
+
101 
+
102 
+
103 /******************************************************************************
+
104  *
+
105  * Enumeration Support Definitions.
+
106  *
+
107  * Please do not add additional code beyond this point.
+
108  *
+
109  *****************************************************************************/
+
110 /* <auto.start.enum(tag:onlp).supportheader> */
+
112 const char* onlp_status_name(onlp_status_t e);
+
113 
+
115 int onlp_status_value(const char* str, onlp_status_t* e, int substr);
+
116 
+
118 const char* onlp_status_desc(onlp_status_t e);
+
119 
+
121 int onlp_status_valid(onlp_status_t e);
+
122 
+
124 #define ONLP_STATUS_VALID(_e) \
+
125  (onlp_status_valid((_e)))
+
126 
+
128 extern aim_map_si_t onlp_status_map[];
+
130 extern aim_map_si_t onlp_status_desc_map[];
+
131 /* <auto.end.enum(tag:onlp).supportheader> */
+
132 
+
133 #endif /* __ONLP_ONLP_H__ */
+
onlp Configuration Header
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/onlp__config_8h.html b/packages/base/any/onlp/src/onlp/doc/html/onlp__config_8h.html new file mode 100644 index 00000000..d237de70 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/onlp__config_8h.html @@ -0,0 +1,184 @@ + + + + + + +ONLP: module/inc/onlp/onlp_config.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
onlp_config.h File Reference
+
+
+ +

onlp Configuration Header +More...

+
#include <AIM/aim.h>
+#include "onlp_porting.h"
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  onlp_config_settings_s
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define ONLP_CONFIG_INCLUDE_LOGGING   1
 
#define ONLP_CONFIG_LOG_OPTIONS_DEFAULT   AIM_LOG_OPTIONS_DEFAULT
 
#define ONLP_CONFIG_LOG_BITS_DEFAULT   AIM_LOG_BITS_DEFAULT
 
#define ONLP_CONFIG_LOG_CUSTOM_BITS_DEFAULT   0
 
#define ONLP_CONFIG_PORTING_STDLIB   1
 
#define ONLP_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS   ONLP_CONFIG_PORTING_STDLIB
 
#define ONLP_CONFIG_INCLUDE_UCLI   0
 
#define ONLP_CONFIG_INCLUDE_PLATFORM_ERROR_CHECK   1
 
#define ONLP_CONFIG_INCLUDE_SHLOCK_GLOBAL_INIT   0
 
#define ONLP_CONFIG_PLATFORM_NAME   NULL
 
#define ONLP_CONFIG_PLATFORM_FILENAME   "/etc/onl/platform"
 
#define ONLP_CONFIG_INCLUDE_PLATFORM_OVERRIDES   1
 
#define ONLP_CONFIG_CONFIGURATION_FILENAME   "/etc/onlp.conf"
 
#define ONLP_CONFIG_CONFIGURATION_ENV   "ONLP_CONF"
 
#define ONLP_CONFIG_INCLUDE_API_LOCK   1
 
#define ONLP_CONFIG_API_LOCK_GLOBAL_SHARED   1
 
#define ONLP_CONFIG_API_LOCK_TIMEOUT   60000000
 
#define ONLP_CONFIG_INFO_STR_MAX   64
 
#define ONLP_CONFIG_INCLUDE_THERMAL_THRESHOLDS   0
 
#define ONLP_CONFIG_INCLUDE_API_PROFILING   0
 
+ + + +

+Typedefs

typedef struct
+onlp_config_settings_s 
onlp_config_settings_t
 
+ + + + + + + +

+Functions

const char * onlp_config_lookup (const char *setting)
 Lookup a configuration setting. More...
 
int onlp_config_show (struct aim_pvs_s *pvs)
 Show the compile-time configuration. More...
 
+ + + +

+Variables

onlp_config_settings_t onlp_config_settings []
 
+

Detailed Description

+

onlp Configuration Header

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/onlp__config_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/onlp__config_8h_source.html new file mode 100644 index 00000000..76dd8120 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/onlp__config_8h_source.html @@ -0,0 +1,239 @@ + + + + + + +ONLP: module/inc/onlp/onlp_config.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
onlp_config.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
29 #ifndef __ONLP_CONFIG_H__
+
30 #define __ONLP_CONFIG_H__
+
31 
+
32 #ifdef GLOBAL_INCLUDE_CUSTOM_CONFIG
+
33 #include <global_custom_config.h>
+
34 #endif
+
35 #ifdef ONLP_INCLUDE_CUSTOM_CONFIG
+
36 #include <onlp_custom_config.h>
+
37 #endif
+
38 
+
39 /* <auto.start.cdefs(ONLP_CONFIG_HEADER).header> */
+
40 #include <AIM/aim.h>
+
47 #ifndef ONLP_CONFIG_INCLUDE_LOGGING
+
48 #define ONLP_CONFIG_INCLUDE_LOGGING 1
+
49 #endif
+
50 
+
57 #ifndef ONLP_CONFIG_LOG_OPTIONS_DEFAULT
+
58 #define ONLP_CONFIG_LOG_OPTIONS_DEFAULT AIM_LOG_OPTIONS_DEFAULT
+
59 #endif
+
60 
+
67 #ifndef ONLP_CONFIG_LOG_BITS_DEFAULT
+
68 #define ONLP_CONFIG_LOG_BITS_DEFAULT AIM_LOG_BITS_DEFAULT
+
69 #endif
+
70 
+
77 #ifndef ONLP_CONFIG_LOG_CUSTOM_BITS_DEFAULT
+
78 #define ONLP_CONFIG_LOG_CUSTOM_BITS_DEFAULT 0
+
79 #endif
+
80 
+
87 #ifndef ONLP_CONFIG_PORTING_STDLIB
+
88 #define ONLP_CONFIG_PORTING_STDLIB 1
+
89 #endif
+
90 
+
97 #ifndef ONLP_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS
+
98 #define ONLP_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS ONLP_CONFIG_PORTING_STDLIB
+
99 #endif
+
100 
+
107 #ifndef ONLP_CONFIG_INCLUDE_UCLI
+
108 #define ONLP_CONFIG_INCLUDE_UCLI 0
+
109 #endif
+
110 
+
117 #ifndef ONLP_CONFIG_INCLUDE_PLATFORM_ERROR_CHECK
+
118 #define ONLP_CONFIG_INCLUDE_PLATFORM_ERROR_CHECK 1
+
119 #endif
+
120 
+
127 #ifndef ONLP_CONFIG_INCLUDE_SHLOCK_GLOBAL_INIT
+
128 #define ONLP_CONFIG_INCLUDE_SHLOCK_GLOBAL_INIT 0
+
129 #endif
+
130 
+
137 #ifndef ONLP_CONFIG_PLATFORM_NAME
+
138 #define ONLP_CONFIG_PLATFORM_NAME NULL
+
139 #endif
+
140 
+
147 #ifndef ONLP_CONFIG_PLATFORM_FILENAME
+
148 #define ONLP_CONFIG_PLATFORM_FILENAME "/etc/onl/platform"
+
149 #endif
+
150 
+
157 #ifndef ONLP_CONFIG_INCLUDE_PLATFORM_OVERRIDES
+
158 #define ONLP_CONFIG_INCLUDE_PLATFORM_OVERRIDES 1
+
159 #endif
+
160 
+
167 #ifndef ONLP_CONFIG_CONFIGURATION_FILENAME
+
168 #define ONLP_CONFIG_CONFIGURATION_FILENAME "/etc/onlp.conf"
+
169 #endif
+
170 
+
177 #ifndef ONLP_CONFIG_CONFIGURATION_ENV
+
178 #define ONLP_CONFIG_CONFIGURATION_ENV "ONLP_CONF"
+
179 #endif
+
180 
+
187 #ifndef ONLP_CONFIG_INCLUDE_API_LOCK
+
188 #define ONLP_CONFIG_INCLUDE_API_LOCK 1
+
189 #endif
+
190 
+
197 #ifndef ONLP_CONFIG_API_LOCK_GLOBAL_SHARED
+
198 #define ONLP_CONFIG_API_LOCK_GLOBAL_SHARED 1
+
199 #endif
+
200 
+
207 #ifndef ONLP_CONFIG_API_LOCK_TIMEOUT
+
208 #define ONLP_CONFIG_API_LOCK_TIMEOUT 60000000
+
209 #endif
+
210 
+
217 #ifndef ONLP_CONFIG_INFO_STR_MAX
+
218 #define ONLP_CONFIG_INFO_STR_MAX 64
+
219 #endif
+
220 
+
227 #ifndef ONLP_CONFIG_INCLUDE_THERMAL_THRESHOLDS
+
228 #define ONLP_CONFIG_INCLUDE_THERMAL_THRESHOLDS 0
+
229 #endif
+
230 
+
237 #ifndef ONLP_CONFIG_INCLUDE_API_PROFILING
+
238 #define ONLP_CONFIG_INCLUDE_API_PROFILING 0
+
239 #endif
+
240 
+
241 
+
242 
+
248 typedef struct onlp_config_settings_s {
+
250  const char* name;
+
252  const char* value;
+ +
254 
+ +
258 
+
263 const char* onlp_config_lookup(const char* setting);
+
264 
+
269 int onlp_config_show(struct aim_pvs_s* pvs);
+
270 
+
271 /* <auto.end.cdefs(ONLP_CONFIG_HEADER).header> */
+
272 
+
273 #include "onlp_porting.h"
+
274 
+
275 #endif /* __ONLP_CONFIG_H__ */
+
276 /* @} */
+
const char * name
Definition: onlp_config.h:250
+
struct onlp_config_settings_s onlp_config_settings_t
+
onlp Porting Macros.
+
onlp_config_settings_t onlp_config_settings[]
+
const char * onlp_config_lookup(const char *setting)
Lookup a configuration setting.
+
Definition: onlp_config.h:248
+
const char * value
Definition: onlp_config.h:252
+
int onlp_config_show(struct aim_pvs_s *pvs)
Show the compile-time configuration.
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/onlp__dox_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/onlp__dox_8h_source.html new file mode 100644 index 00000000..76f9addc --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/onlp__dox_8h_source.html @@ -0,0 +1,128 @@ + + + + + + +ONLP: module/inc/onlp/onlp_dox.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
onlp_dox.h
+
+
+
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ************************************************************
+
21  *
+
22  *
+
23  *
+
24  ***********************************************************/
+
25 #ifndef __ONLP_DOX_H__
+
26 #define __ONLP_DOX_H__
+
27 
+
85 #endif /* __ONLP_DOX_H__ */
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/onlp__porting_8h.html b/packages/base/any/onlp/src/onlp/doc/html/onlp__porting_8h.html new file mode 100644 index 00000000..815d73c1 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/onlp__porting_8h.html @@ -0,0 +1,112 @@ + + + + + + +ONLP: module/inc/onlp/onlp_porting.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
onlp_porting.h File Reference
+
+
+ +

onlp Porting Macros. +More...

+
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdarg.h>
+#include <memory.h>
+
+

Go to the source code of this file.

+

Detailed Description

+

onlp Porting Macros.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/onlp__porting_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/onlp__porting_8h_source.html new file mode 100644 index 00000000..ad8c5c34 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/onlp__porting_8h_source.html @@ -0,0 +1,184 @@ + + + + + + +ONLP: module/inc/onlp/onlp_porting.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
onlp_porting.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ************************************************************
+
21  *
+
22  *
+
23  *
+
24  ***********************************************************/
+
25 
+
26 /**************************************************************************/
+
35 #ifndef __ONLP_PORTING_H__
+
36 #define __ONLP_PORTING_H__
+
37 
+
38 
+
39 /* <auto.start.portingmacro(ALL).define> */
+
40 #if ONLP_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS == 1
+
41 #include <stdio.h>
+
42 #include <stdlib.h>
+
43 #include <string.h>
+
44 #include <stdarg.h>
+
45 #include <memory.h>
+
46 #endif
+
47 
+
48 #ifndef ONLP_MEMSET
+
49  #if defined(GLOBAL_MEMSET)
+
50  #define ONLP_MEMSET GLOBAL_MEMSET
+
51  #elif ONLP_CONFIG_PORTING_STDLIB == 1
+
52  #define ONLP_MEMSET memset
+
53  #else
+
54  #error The macro ONLP_MEMSET is required but cannot be defined.
+
55  #endif
+
56 #endif
+
57 
+
58 #ifndef ONLP_MEMCPY
+
59  #if defined(GLOBAL_MEMCPY)
+
60  #define ONLP_MEMCPY GLOBAL_MEMCPY
+
61  #elif ONLP_CONFIG_PORTING_STDLIB == 1
+
62  #define ONLP_MEMCPY memcpy
+
63  #else
+
64  #error The macro ONLP_MEMCPY is required but cannot be defined.
+
65  #endif
+
66 #endif
+
67 
+
68 #ifndef ONLP_STRNCPY
+
69  #if defined(GLOBAL_STRNCPY)
+
70  #define ONLP_STRNCPY GLOBAL_STRNCPY
+
71  #elif ONLP_CONFIG_PORTING_STDLIB == 1
+
72  #define ONLP_STRNCPY strncpy
+
73  #else
+
74  #error The macro ONLP_STRNCPY is required but cannot be defined.
+
75  #endif
+
76 #endif
+
77 
+
78 #ifndef ONLP_STRLEN
+
79  #if defined(GLOBAL_STRLEN)
+
80  #define ONLP_STRLEN GLOBAL_STRLEN
+
81  #elif ONLP_CONFIG_PORTING_STDLIB == 1
+
82  #define ONLP_STRLEN strlen
+
83  #else
+
84  #error The macro ONLP_STRLEN is required but cannot be defined.
+
85  #endif
+
86 #endif
+
87 
+
88 /* <auto.end.portingmacro(ALL).define> */
+
89 
+
90 
+
91 #endif /* __ONLP_PORTING_H__ */
+
92 /* @} */
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/open.png b/packages/base/any/onlp/src/onlp/doc/html/open.png new file mode 100644 index 00000000..30f75c7e Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/open.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/platform_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/platform_8h_source.html new file mode 100644 index 00000000..dbba5e0e --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/platform_8h_source.html @@ -0,0 +1,132 @@ + + + + + + +ONLP: module/inc/onlp/platform.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
platform.h
+
+
+
1 /**************************************************************************/
+
6 #ifndef __ONLP_PLATFORM_H__
+
7 #define __ONLP_PLATFORM_H__
+
8 
+
9 #include <onlp/onlp_config.h>
+
10 #include <onlp/onlp.h>
+
11 
+
12 #include <AIM/aim_pvs.h>
+
13 
+
17 char* onlp_platform_name_get(void);
+
18 
+
22 int onlp_platform_sw_init(const char* platform);
+
23 
+
28 int onlp_platform_hw_init(uint32_t flags);
+
29 
+
36 int onlp_platform_sw_denit(void);
+
37 
+
42 int onlp_platform_manager_start(int block);
+
43 
+
48 int onlp_platform_manager_stop(int block);
+
49 
+
53 int onlp_platform_manager_join(void);
+
54 
+
61 void onlp_platform_manager_manage(void);
+
62 
+
66 void
+
67 onlp_platform_manager_daemon(const char* name, const char* logfile,
+
68  const char* pidfile, char** argv);
+
72 int onlp_platform_debug(aim_pvs_t* pvs, int argc, char** argv);
+
73 
+
74 #endif /* __ONLP_PLATFORM_H__ */
+
onlp Configuration Header
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/platformi_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/platformi_8h_source.html new file mode 100644 index 00000000..db82b279 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/platformi_8h_source.html @@ -0,0 +1,145 @@ + + + + + + +ONLP: module/inc/onlp/platformi/platformi.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
platformi.h
+
+
+
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ************************************************************
+
21  *
+
22  * Platform Interface.
+
23  *
+
24  ***********************************************************/
+
25 #ifndef __ONLP_PLATFORMI_H__
+
26 #define __ONLP_PLATFORMI_H__
+
27 
+
28 #include <onlp/platform.h>
+
29 
+
51 const char* onlp_platformi_get(void);
+
52 
+
53 int onlp_platformi_set(const char* platform);
+
54 
+
59 int onlp_platformi_sw_init(void);
+
60 
+
65 int onlp_platformi_hw_init(uint32_t flags);
+
66 
+
67 
+
71 int onlp_platformi_manage_init(void);
+
72 
+
78 int onlp_platformi_manage_fans(void);
+
79 
+
85 int onlp_platformi_manage_leds(void);
+
86 
+
87 #endif /* __ONLP_PLATFORMI_H__ */
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/psu_8h.html b/packages/base/any/onlp/src/onlp/doc/html/psu_8h.html new file mode 100644 index 00000000..3d593353 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/psu_8h.html @@ -0,0 +1,227 @@ + + + + + + +ONLP: module/inc/onlp/psu.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
psu.h File Reference
+
+
+ +

Power Supply Management. +More...

+
#include <onlp/onlp.h>
+#include <onlp/oids.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  onlp_psu_info_t
 
+ + + + + + + + + + + + + + + +

+Macros

#define ONLP_PSU_INFO_CAP_IS_SET(_pinfo, _name)   ((_pinfo)->caps & ONLP_PSU_CAPS_##_name)
 
#define ONLP_PSU_STATUS_PRESENT(_pi)   ( (_pi).status & ONLP_PSU_STATUS_PRESENT )
 
#define ONLP_PSU_STATUS_MISSING(_pi)   (!ONLP_PSU_STATUS_PRESENT(_pi))
 
#define ONLP_PSU_STATUS_FAILED(_pi)   ( (_pi).status & ONLP_PSU_STATUS_FAILED)
 
#define ONLP_PSU_CAPS_VALID(_e)   (onlp_psu_caps_valid((_e)))
 
#define ONLP_PSU_TYPE_STRINGS
 
#define ONLP_PSU_TYPE_VALID(_e)   ( (0 <= (_e)) && ((_e) <= ONLP_PSU_TYPE_DC48))
 
+ + + + + + + +

+Typedefs

typedef enum onlp_psu_caps_e onlp_psu_caps_t
 
typedef enum onlp_psu_type_e onlp_psu_type_t
 
typedef struct onlp_psu_info_t onlp_psu_info_t
 
+ + + + + +

+Enumerations

enum  onlp_psu_caps_e {
+  ONLP_PSU_CAPS_GET_TYPE = (1 << 0), +ONLP_PSU_CAPS_GET_VIN = (1 << 1), +ONLP_PSU_CAPS_GET_VOUT = (1 << 2), +ONLP_PSU_CAPS_GET_IIN = (1 << 3), +
+  ONLP_PSU_CAPS_GET_IOUT = (1 << 4), +ONLP_PSU_CAPS_GET_PIN = (1 << 5), +ONLP_PSU_CAPS_GET_POUT = (1 << 6) +
+ }
 
enum  onlp_psu_type_e {
+  ONLP_PSU_TYPE_AC, +ONLP_PSU_TYPE_DC12, +ONLP_PSU_TYPE_DC48, +ONLP_PSU_TYPE_LAST = ONLP_PSU_TYPE_DC48, +
+  ONLP_PSU_TYPE_COUNT, +ONLP_PSU_TYPE_INVALID = -1 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+int onlp_psu_sw_init (void)
 Software initialization of the PSU module.
 
int onlp_psu_hw_init (uint32_t flags)
 Hardware initialization of the PSU module. More...
 
int onlp_psu_sw_denit (void)
 Deinitialize the psu software module. More...
 
int onlp_psu_hdr_get (onlp_oid_t id, onlp_oid_hdr_t *rv)
 Get the PSU's oid header. More...
 
int onlp_psu_info_get (onlp_oid_t id, onlp_psu_info_t *rv)
 Get the PSU information. More...
 
int onlp_psu_info_to_user_json (onlp_psu_info_t *info, cJSON **cj, uint32_t flags)
 Convert a PSU info structure to user JSON. More...
 
int onlp_psu_info_to_json (onlp_psu_info_t *info, cJSON **cj, uint32_t flags)
 Convert a PSU info structure to JSON. More...
 
int onlp_psu_info_from_json (cJSON *cj, onlp_psu_info_t *info)
 Convert a JSON object to a PSU info structure. More...
 
const char * onlp_psu_caps_name (onlp_psu_caps_t e)
 
int onlp_psu_caps_value (const char *str, onlp_psu_caps_t *e, int substr)
 
const char * onlp_psu_caps_desc (onlp_psu_caps_t e)
 
int onlp_psu_caps_valid (onlp_psu_caps_t e)
 
const char * onlp_psu_type_name (onlp_psu_type_t e)
 
int onlp_psu_type_value (const char *str, onlp_psu_type_t *e, int substr)
 
const char * onlp_psu_type_desc (onlp_psu_type_t e)
 
+ + + + + + + + + +

+Variables

aim_map_si_t onlp_psu_caps_map []
 
aim_map_si_t onlp_psu_caps_desc_map []
 
aim_map_si_t onlp_psu_type_map []
 
aim_map_si_t onlp_psu_type_desc_map []
 
+

Detailed Description

+

Power Supply Management.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/psu_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/psu_8h_source.html new file mode 100644 index 00000000..d363e4f8 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/psu_8h_source.html @@ -0,0 +1,284 @@ + + + + + + +ONLP: module/inc/onlp/psu.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
psu.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
28 #ifndef __ONLP_PSU_H__
+
29 #define __ONLP_PSU_H__
+
30 
+
31 #include <onlp/onlp.h>
+
32 #include <onlp/oids.h>
+
33 
+
34 /* <auto.start.enum(tag:psu).define> */
+
36 typedef enum onlp_psu_caps_e {
+
37  ONLP_PSU_CAPS_GET_TYPE = (1 << 0),
+
38  ONLP_PSU_CAPS_GET_VIN = (1 << 1),
+
39  ONLP_PSU_CAPS_GET_VOUT = (1 << 2),
+
40  ONLP_PSU_CAPS_GET_IIN = (1 << 3),
+
41  ONLP_PSU_CAPS_GET_IOUT = (1 << 4),
+
42  ONLP_PSU_CAPS_GET_PIN = (1 << 5),
+
43  ONLP_PSU_CAPS_GET_POUT = (1 << 6),
+ +
45 
+
47 typedef enum onlp_psu_type_e {
+
48  ONLP_PSU_TYPE_AC,
+
49  ONLP_PSU_TYPE_DC12,
+
50  ONLP_PSU_TYPE_DC48,
+
51  ONLP_PSU_TYPE_LAST = ONLP_PSU_TYPE_DC48,
+
52  ONLP_PSU_TYPE_COUNT,
+
53  ONLP_PSU_TYPE_INVALID = -1,
+ +
55 /* <auto.end.enum(tag:psu).define> */
+
56 
+
57 
+
61 typedef struct onlp_psu_info_t {
+ +
64 
+ +
67 
+ +
70 
+
72  uint32_t caps;
+
73 
+ +
76 
+
78  int mvin;
+
79 
+
81  int mvout;
+
82 
+
84  int miin;
+
85 
+
87  int miout;
+
88 
+
90  int mpin;
+
91 
+
93  int mpout;
+
94 
+ +
96 
+
97 
+
101 #define ONLP_PSU_INFO_CAP_IS_SET(_pinfo, _name) \
+
102  ((_pinfo)->caps & ONLP_PSU_CAPS_##_name)
+
103 
+
107 int onlp_psu_sw_init(void);
+
108 
+
113 int onlp_psu_hw_init(uint32_t flags);
+
114 
+
121 int onlp_psu_sw_denit(void);
+
122 
+
128 int onlp_psu_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* rv);
+
129 
+
135 int onlp_psu_info_get(onlp_oid_t id, onlp_psu_info_t* rv);
+
136 
+
143 int onlp_psu_info_to_user_json(onlp_psu_info_t* info, cJSON** cj, uint32_t flags);
+
144 
+
151 int onlp_psu_info_to_json(onlp_psu_info_t* info, cJSON** cj, uint32_t flags);
+
152 
+
158 int onlp_psu_info_from_json(cJSON* cj, onlp_psu_info_t* info);
+
159 
+
160 
+
162 #define ONLP_PSU_STATUS_PRESENT(_pi) ( (_pi).status & ONLP_PSU_STATUS_PRESENT )
+
163 
+
165 #define ONLP_PSU_STATUS_MISSING(_pi) (!ONLP_PSU_STATUS_PRESENT(_pi))
+
166 
+
168 #define ONLP_PSU_STATUS_FAILED(_pi) ( (_pi).status & ONLP_PSU_STATUS_FAILED)
+
169 
+
170 
+
171 
+
172 /******************************************************************************
+
173  *
+
174  * Enumeration Support Definitions.
+
175  *
+
176  * Please do not add additional code beyond this point.
+
177  *
+
178  *****************************************************************************/
+
179 /* <auto.start.enum(tag:psu).supportheader> */
+
181 const char* onlp_psu_caps_name(onlp_psu_caps_t e);
+
182 
+
184 int onlp_psu_caps_value(const char* str, onlp_psu_caps_t* e, int substr);
+
185 
+
187 const char* onlp_psu_caps_desc(onlp_psu_caps_t e);
+
188 
+ +
191 
+
193 #define ONLP_PSU_CAPS_VALID(_e) \
+
194  (onlp_psu_caps_valid((_e)))
+
195 
+
197 extern aim_map_si_t onlp_psu_caps_map[];
+
199 extern aim_map_si_t onlp_psu_caps_desc_map[];
+
200 
+
202 #define ONLP_PSU_TYPE_STRINGS \
+
203 {\
+
204  "AC", \
+
205  "DC12", \
+
206  "DC48", \
+
207 }
+
208 
+
209 const char* onlp_psu_type_name(onlp_psu_type_t e);
+
210 
+
212 int onlp_psu_type_value(const char* str, onlp_psu_type_t* e, int substr);
+
213 
+
215 const char* onlp_psu_type_desc(onlp_psu_type_t e);
+
216 
+
218 #define ONLP_PSU_TYPE_VALID(_e) \
+
219  ( (0 <= (_e)) && ((_e) <= ONLP_PSU_TYPE_DC48))
+
220 
+
222 extern aim_map_si_t onlp_psu_type_map[];
+
224 extern aim_map_si_t onlp_psu_type_desc_map[];
+
225 /* <auto.end.enum(tag:psu).supportheader> */
+
226 
+
227 #endif /* __ONLP_PSU_H__ */
+
228 /* @} */
+
aim_map_si_t onlp_psu_type_map[]
+
aim_map_si_t onlp_psu_caps_map[]
+
int onlp_psu_hdr_get(onlp_oid_t id, onlp_oid_hdr_t *rv)
Get the PSU's oid header.
+
onlp_psu_type_e
Definition: psu.h:47
+
int mvout
Definition: psu.h:81
+
int onlp_psu_caps_value(const char *str, onlp_psu_caps_t *e, int substr)
+
int onlp_psu_sw_denit(void)
Deinitialize the psu software module.
+
char serial[ONLP_CONFIG_INFO_STR_MAX]
Definition: psu.h:69
+
onlp_psu_caps_e
Definition: psu.h:36
+
uint32_t caps
Definition: psu.h:72
+
enum onlp_psu_type_e onlp_psu_type_t
+
int mpin
Definition: psu.h:90
+
int onlp_psu_info_to_user_json(onlp_psu_info_t *info, cJSON **cj, uint32_t flags)
Convert a PSU info structure to user JSON.
+
int miin
Definition: psu.h:84
+
#define ONLP_CONFIG_INFO_STR_MAX
Definition: onlp_config.h:218
+
int onlp_psu_sw_init(void)
Software initialization of the PSU module.
+
enum onlp_psu_caps_e onlp_psu_caps_t
+
int onlp_psu_info_to_json(onlp_psu_info_t *info, cJSON **cj, uint32_t flags)
Convert a PSU info structure to JSON.
+
int onlp_psu_caps_valid(onlp_psu_caps_t e)
+
const char * onlp_psu_caps_desc(onlp_psu_caps_t e)
+
int onlp_psu_hw_init(uint32_t flags)
Hardware initialization of the PSU module.
+
const char * onlp_psu_caps_name(onlp_psu_caps_t e)
+
const char * onlp_psu_type_name(onlp_psu_type_t e)
+
const char * onlp_psu_type_desc(onlp_psu_type_t e)
+
int onlp_psu_type_value(const char *str, onlp_psu_type_t *e, int substr)
+
int miout
Definition: psu.h:87
+
Definition: psu.h:61
+
int onlp_psu_info_get(onlp_oid_t id, onlp_psu_info_t *rv)
Get the PSU information.
+
onlp_oid_hdr_t hdr
Definition: psu.h:63
+
onlp_psu_type_t type
Definition: psu.h:75
+
struct onlp_psu_info_t onlp_psu_info_t
+
int mvin
Definition: psu.h:78
+
aim_map_si_t onlp_psu_caps_desc_map[]
+
int onlp_psu_info_from_json(cJSON *cj, onlp_psu_info_t *info)
Convert a JSON object to a PSU info structure.
+
aim_map_si_t onlp_psu_type_desc_map[]
+
Definition: oids.h:212
+
char model[ONLP_CONFIG_INFO_STR_MAX]
Definition: psu.h:66
+
int mpout
Definition: psu.h:93
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/psui_8h.html b/packages/base/any/onlp/src/onlp/doc/html/psui_8h.html new file mode 100644 index 00000000..0561d79a --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/psui_8h.html @@ -0,0 +1,137 @@ + + + + + + +ONLP: module/inc/onlp/platformi/psui.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
psui.h File Reference
+
+
+ +

Power Supply Management Implementation. +More...

+
#include <onlp/psu.h>
+
+

Go to the source code of this file.

+ + + + + +

+Macros

#define ONLP_CHASSIS_PSU_INFO_ENTRY_INIT(_id, _desc)
 Initialize a static PSU info structure. More...
 
+ + + + + + + + + + + + + + + + +

+Functions

+int onlp_psui_sw_init (void)
 Software initialization of the PSU module.
 
int onlp_psui_hw_init (uint32_t flags)
 Hardware initialization of the PSU module. More...
 
int onlp_psui_sw_denit (void)
 Deinitialize the psu software module. More...
 
int onlp_psui_hdr_get (onlp_oid_id_t id, onlp_oid_hdr_t *rv)
 Get the PSU's oid header. More...
 
int onlp_psui_info_get (onlp_oid_id_t id, onlp_psu_info_t *rv)
 Get the information structure for the given PSU. More...
 
+

Detailed Description

+

Power Supply Management Implementation.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/psui_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/psui_8h_source.html new file mode 100644 index 00000000..04178234 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/psui_8h_source.html @@ -0,0 +1,155 @@ + + + + + + +ONLP: module/inc/onlp/platformi/psui.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
psui.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
28 #ifndef __ONLP_PSUI_H__
+
29 #define __ONLP_PSUI_H__
+
30 
+
31 #include <onlp/psu.h>
+
32 
+
36 int onlp_psui_sw_init(void);
+
37 
+
42 int onlp_psui_hw_init(uint32_t flags);
+
43 
+
50 int onlp_psui_sw_denit(void);
+
51 
+
57 int onlp_psui_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* rv);
+
58 
+
64 int onlp_psui_info_get(onlp_oid_id_t id, onlp_psu_info_t* rv);
+
65 
+
66 
+
70 #define ONLP_CHASSIS_PSU_INFO_ENTRY_INIT(_id, _desc) \
+
71  { \
+
72  { \
+
73  .id = _id, \
+
74  .description = _desc, \
+
75  .poid = ONLP_OID_CHASSIS, \
+
76  }, \
+
77  }
+
78 
+
79 #endif /* __ONLP_PSUI_H__ */
+
80 /* @} */
+
int onlp_psui_sw_init(void)
Software initialization of the PSU module.
+
int onlp_psui_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t *rv)
Get the PSU's oid header.
+
int onlp_psui_hw_init(uint32_t flags)
Hardware initialization of the PSU module.
+
int onlp_psui_sw_denit(void)
Deinitialize the psu software module.
+
Power Supply Management.
+
int onlp_psui_info_get(onlp_oid_id_t id, onlp_psu_info_t *rv)
Get the information structure for the given PSU.
+
Definition: psu.h:61
+
Definition: oids.h:212
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_0.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_0.html new file mode 100644 index 00000000..6f4ddc39 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_0.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_0.js new file mode 100644 index 00000000..7877bb32 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['a0',['a0',['../structonlp__sfp__info__t.html#a98e752ad7eb154ab9cec328a9dd51b23',1,'onlp_sfp_info_t']]], + ['a2',['a2',['../structonlp__sfp__info__t.html#ac755b9f9a53498cf5bcc7d80af6bc93e',1,'onlp_sfp_info_t']]], + ['additional',['additional',['../structonlp__asset__info__s.html#a0e49ff2e6e3830df96957e9ec9541e27',1,'onlp_asset_info_s']]], + ['asset_20interface',['Asset Interface',['../group__assets.html',1,'']]], + ['attribute_2eh',['attribute.h',['../attribute_8h.html',1,'']]], + ['attribute_20interface',['Attribute Interface',['../group__attributes.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_1.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_1.html new file mode 100644 index 00000000..fce68bd6 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_1.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_1.js new file mode 100644 index 00000000..691b8d1b --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytes',['bytes',['../structonlp__sfp__info__t.html#a0b4ab8a79f10b2ba976e21474752fbc5',1,'onlp_sfp_info_t']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_10.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_10.html new file mode 100644 index 00000000..a960bb86 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_10.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_10.js new file mode 100644 index 00000000..6114eab3 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value',['value',['../structonlp__config__settings__s.html#aa26e1e02ff52f09844939177000feaf6',1,'onlp_config_settings_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_11.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_11.html new file mode 100644 index 00000000..fda6861d --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_11.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_11.js new file mode 100644 index 00000000..41d9f823 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_11.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['warning',['warning',['../structonlp__thermal__info__s.html#a3d64d9695a41a8607a04fb468c9bd273',1,'onlp_thermal_info_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_2.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_2.html new file mode 100644 index 00000000..1ee90b94 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_2.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_2.js new file mode 100644 index 00000000..e8ca6c68 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_2.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['caps',['caps',['../structonlp__fan__info__s.html#ab0da6d91d76a1cec81c56505927dc7e8',1,'onlp_fan_info_s::caps()'],['../structonlp__led__info__s.html#a87b31360c923e1b9850964b6b13d4b78',1,'onlp_led_info_s::caps()'],['../structonlp__psu__info__t.html#a28e3036f4eba2162b72c9293395f6e35',1,'onlp_psu_info_t::caps()'],['../structonlp__thermal__info__s.html#ac056371edd6343e41b340e4958a65166',1,'onlp_thermal_info_s::caps()']]], + ['character',['character',['../structonlp__led__info__s.html#a4095ba538a4f97dd927ee9b0935a04dd',1,'onlp_led_info_s']]], + ['chassis_2eh',['chassis.h',['../chassis_8h.html',1,'']]], + ['chassis',['Chassis',['../group__chassisi.html',1,'']]], + ['chassisi_2eh',['chassisi.h',['../chassisi_8h.html',1,'']]], + ['coids',['coids',['../structonlp__oid__hdr__s.html#a18843a55793cd5e1ef0d631633c8ac2a',1,'onlp_oid_hdr_s']]], + ['controls',['controls',['../structonlp__sfp__info__t.html#a8a99787539d15d2e68310429ef267c26',1,'onlp_sfp_info_t']]], + ['cpld_5frevision',['cpld_revision',['../structonlp__asset__info__s.html#a9562cece5bca0170722e6f4ea478d5e7',1,'onlp_asset_info_s']]], + ['chassis',['Chassis',['../group__oid-chassis.html',1,'']]], + ['compile_20time_20configuration',['Compile Time Configuration',['../group__onlp-config.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_3.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_3.html new file mode 100644 index 00000000..85c4a815 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_3.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_3.js new file mode 100644 index 00000000..394190f9 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_3.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['date',['date',['../structonlp__asset__info__s.html#a05fc56a3353d06201741934b3e04b073',1,'onlp_asset_info_s']]], + ['description',['description',['../structonlp__oid__hdr__s.html#ae288393555bde9b70aa9aff0900fb25e',1,'onlp_oid_hdr_s::description()'],['../structonlp__asset__info__s.html#a9e34e38f1a67ad2f42a1f49b4610bec1',1,'onlp_asset_info_s::description()']]], + ['dir',['dir',['../structonlp__fan__info__s.html#a201b4f369159793f4e51893e002858a4',1,'onlp_fan_info_s']]], + ['dom',['dom',['../structonlp__sfp__info__t.html#a1048b21471f280c4ad37641527805cc1',1,'onlp_sfp_info_t']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_4.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_4.html new file mode 100644 index 00000000..56eb97ca --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_4.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_4.js new file mode 100644 index 00000000..d57f523e --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['error',['error',['../structonlp__thermal__info__s.html#a9d22f9cfb0df50dddc3ed39f9e108069',1,'onlp_thermal_info_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_5.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_5.html new file mode 100644 index 00000000..d085ca8e --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_5.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_5.js new file mode 100644 index 00000000..e453d126 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_5.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['fan_2eh',['fan.h',['../fan_8h.html',1,'']]], + ['fans',['Fans',['../group__fani.html',1,'']]], + ['fani_2eh',['fani.h',['../fani_8h.html',1,'']]], + ['firmware_5frevision',['firmware_revision',['../structonlp__asset__info__s.html#af23efb9ff31b6ea6a8d4361882443408',1,'onlp_asset_info_s']]], + ['fans',['Fans',['../group__oid-fan.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_6.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_6.html new file mode 100644 index 00000000..7a31022e --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_6.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_6.js new file mode 100644 index 00000000..d8be6eee --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_6.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['generic_2eh',['generic.h',['../generic_8h.html',1,'']]], + ['generics',['Generics',['../group__oid-generic.html',1,'']]], + ['general_20oid_20interfaces',['General OID Interfaces',['../group__oid-interfaces.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_7.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_7.html new file mode 100644 index 00000000..f83a2807 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_7.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_7.js new file mode 100644 index 00000000..57c70858 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['hardware_5frevision',['hardware_revision',['../structonlp__asset__info__s.html#ae652b540876a108e01f1be2f436a0616',1,'onlp_asset_info_s']]], + ['hdr',['hdr',['../structonlp__chassis__info__s.html#a9f7be15b6477b4e37e1bcfd2f2edc579',1,'onlp_chassis_info_s::hdr()'],['../structonlp__fan__info__s.html#a5c468f7c01aee14a6b6ac68b82bcc0c5',1,'onlp_fan_info_s::hdr()'],['../structonlp__generic__info__s.html#ace6ebcc963862c96685baee72a07bf35',1,'onlp_generic_info_s::hdr()'],['../structonlp__led__info__s.html#a5a030f44e0a9e4bd074bc92f5e5f5409',1,'onlp_led_info_s::hdr()'],['../structonlp__module__info__s.html#a1a8564319f3c601832364aa33bfa9ad0',1,'onlp_module_info_s::hdr()'],['../structonlp__psu__info__t.html#a51641e1184aac939a72ed9fda79f6bc2',1,'onlp_psu_info_t::hdr()'],['../structonlp__sfp__info__t.html#a65aa75c90360677967751984c03facdd',1,'onlp_sfp_info_t::hdr()'],['../structonlp__thermal__info__s.html#a87e7a3e45160170366b1807197c99e4c',1,'onlp_thermal_info_s::hdr()']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_8.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_8.html new file mode 100644 index 00000000..e0bfa825 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_8.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_8.js new file mode 100644 index 00000000..e873b145 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['id',['id',['../structonlp__oid__hdr__s.html#a3ad3418d09bc626533ae89ba85210d46',1,'onlp_oid_hdr_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_9.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_9.html new file mode 100644 index 00000000..5cf41a6c --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_9.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_9.js new file mode 100644 index 00000000..8bc3b3fd --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_9.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['manufacture_5fdate',['manufacture_date',['../structonlp__asset__info__s.html#aa63eaa53e65f6edac25c9e36d52791a6',1,'onlp_asset_info_s']]], + ['manufacturer',['manufacturer',['../structonlp__asset__info__s.html#a46f3d119b1cb118af3507a1743da4a6c',1,'onlp_asset_info_s']]], + ['mcelsius',['mcelsius',['../structonlp__thermal__info__s.html#a1aaba0b2764aaaf88a58314e8c076efc',1,'onlp_thermal_info_s']]], + ['miin',['miin',['../structonlp__psu__info__t.html#a35577c059496417f15cafbc48af5b215',1,'onlp_psu_info_t']]], + ['miout',['miout',['../structonlp__psu__info__t.html#a86f4b8abbebc9400d469f6e8089bf440',1,'onlp_psu_info_t']]], + ['mode',['mode',['../structonlp__led__info__s.html#a59bc4e40d9dc654b69afbd643f5167ea',1,'onlp_led_info_s']]], + ['model',['model',['../structonlp__fan__info__s.html#aa94e42fde59ed5e83999ee8b75285554',1,'onlp_fan_info_s::model()'],['../structonlp__psu__info__t.html#a8d451eee04df036384110d6891b65af9',1,'onlp_psu_info_t::model()']]], + ['module_20documentation',['Module Documentation',['../group__module-interfaces.html',1,'']]], + ['module_2eh',['module.h',['../module_8h.html',1,'']]], + ['modules',['Modules',['../group__modulei.html',1,'']]], + ['mpin',['mpin',['../structonlp__psu__info__t.html#af213d7ec94b6dbcc467fa64d35bfc1ab',1,'onlp_psu_info_t']]], + ['mpout',['mpout',['../structonlp__psu__info__t.html#ae477a0f4b80d4073632b641fb4efdd4d',1,'onlp_psu_info_t']]], + ['mvin',['mvin',['../structonlp__psu__info__t.html#a0a255c38ff5f8cdb6272c9dcde64a1b8',1,'onlp_psu_info_t']]], + ['mvout',['mvout',['../structonlp__psu__info__t.html#afdd172c9f7e6b8014db3704ea92dee41',1,'onlp_psu_info_t']]], + ['modules',['Modules',['../group__oid-module.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_a.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_a.html new file mode 100644 index 00000000..37a04963 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_a.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_a.js new file mode 100644 index 00000000..07b3d841 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['name',['name',['../structonlp__config__settings__s.html#a88b711c88dcd2ecb89cbe17f3abfc449',1,'onlp_config_settings_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_b.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_b.html new file mode 100644 index 00000000..75bc6454 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_b.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_b.js new file mode 100644 index 00000000..61e86c7e --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_b.js @@ -0,0 +1,293 @@ +var searchData= +[ + ['oid',['oid',['../structonlp__asset__info__s.html#a644861e22dae549ed91b01a10de509b7',1,'onlp_asset_info_s']]], + ['oid_20types',['OID Types',['../group__oid-types.html',1,'']]], + ['onie_20interface',['ONIE Interface',['../group__onie.html',1,'']]], + ['onlp_20application_20interfaces',['ONLP Application Interfaces',['../group__onlp-appication.html',1,'']]], + ['onlp',['ONLP',['../group__onlp-main.html',1,'']]], + ['onlp_5fasset_5finfo_5ffree',['onlp_asset_info_free',['../group__stdattrs.html#ga656d49b8fdc5ca8b07fe30a965ca77af',1,'stdattrs.h']]], + ['onlp_5fasset_5finfo_5fs',['onlp_asset_info_s',['../structonlp__asset__info__s.html',1,'']]], + ['onlp_5fasset_5finfo_5fshow',['onlp_asset_info_show',['../group__stdattrs.html#ga6b5eb9c43f30f4ee5727901de34b9c9a',1,'stdattrs.h']]], + ['onlp_5fasset_5finfo_5ft',['onlp_asset_info_t',['../group__stdattrs.html#ga3fc601747b554b5f67e9e14a1a2a2e8d',1,'stdattrs.h']]], + ['onlp_5fasset_5finfo_5fto_5fjson',['onlp_asset_info_to_json',['../group__stdattrs.html#ga41dc8663795d44a4bab9dea8644c5f4e',1,'stdattrs.h']]], + ['onlp_5fattribute_5fasset_5finfo_5ffree',['onlp_attribute_asset_info_free',['../group__attributes.html#gad59c08ea5d021d7574ac456aef0257d2',1,'attribute.h']]], + ['onlp_5fattribute_5fasset_5finfo_5fget',['onlp_attribute_asset_info_get',['../group__attributes.html#ga220b05636881b1bf6356e479f41a8dd6',1,'attribute.h']]], + ['onlp_5fattribute_5fasset_5finfo_5fget_5fjson',['onlp_attribute_asset_info_get_json',['../group__attributes.html#gad8f5e44c2e41db2a3dbd603c48916f6a',1,'attribute.h']]], + ['onlp_5fattribute_5fasset_5finfo_5fshow',['onlp_attribute_asset_info_show',['../group__attributes.html#ga66dec15c39062af8729f90c9e48bc6e3',1,'attribute.h']]], + ['onlp_5fattribute_5fasset_5finfo_5fshow_5fjson',['onlp_attribute_asset_info_show_json',['../group__attributes.html#gafb1210d62af0f1545a50dc667fd43964',1,'attribute.h']]], + ['onlp_5fattribute_5fequals',['ONLP_ATTRIBUTE_EQUALS',['../group__attributes.html#gabbc99deff179b967d537c801f67872b9',1,'attribute.h']]], + ['onlp_5fattribute_5ffree',['onlp_attribute_free',['../group__attributes.html#ga0096e63734fc0c14e9caea7f2c5baa86',1,'attribute.h']]], + ['onlp_5fattribute_5fget',['onlp_attribute_get',['../group__attributes.html#ga3b501b47a82d4318771fc11282c79677',1,'attribute.h']]], + ['onlp_5fattribute_5fhw_5finit',['onlp_attribute_hw_init',['../group__attributes.html#gab4cb0ddd5c97b1fc3ac4de90186b8546',1,'attribute.h']]], + ['onlp_5fattribute_5fonie_5finfo_5ffree',['onlp_attribute_onie_info_free',['../group__attributes.html#ga5e7c1eed8ad3a8f4341abb5fdad7ccc4',1,'attribute.h']]], + ['onlp_5fattribute_5fonie_5finfo_5fget',['onlp_attribute_onie_info_get',['../group__attributes.html#ga556403a97854c91d82593a263cbd3064',1,'attribute.h']]], + ['onlp_5fattribute_5fonie_5finfo_5fget_5fjson',['onlp_attribute_onie_info_get_json',['../group__attributes.html#ga8ef6a9b7893f6c014303ba9095988697',1,'attribute.h']]], + ['onlp_5fattribute_5fonie_5finfo_5fshow',['onlp_attribute_onie_info_show',['../group__attributes.html#gaf4a1d1b6b73629f251177e7693525325',1,'attribute.h']]], + ['onlp_5fattribute_5fonie_5finfo_5fshow_5fjson',['onlp_attribute_onie_info_show_json',['../group__attributes.html#ga2d33e5eed58c2f38dc91409bc5ec28c4',1,'attribute.h']]], + ['onlp_5fattribute_5fset',['onlp_attribute_set',['../group__attributes.html#ga0e904eeda5dae7ae470d0ff9f93a4b99',1,'attribute.h']]], + ['onlp_5fattribute_5fsupported',['onlp_attribute_supported',['../group__attributes.html#ga49731406c54119e74b511274b3f5100c',1,'attribute.h']]], + ['onlp_5fattribute_5fsw_5finit',['onlp_attribute_sw_init',['../group__attributes.html#gae555c656a095566aee6c0826b933193c',1,'attribute.h']]], + ['onlp_5fchassis_5fdebug_5fget_5fjson',['onlp_chassis_debug_get_json',['../group__oid-chassis.html#gae34313148ba9282bb4b07f8ecf643850',1,'chassis.h']]], + ['onlp_5fchassis_5fdebug_5fshow',['onlp_chassis_debug_show',['../group__oid-chassis.html#ga42ade9b99df7d9d6c3b0636722afa4db',1,'chassis.h']]], + ['onlp_5fchassis_5fenvironment_5fshow',['onlp_chassis_environment_show',['../group__oid-chassis.html#ga339fe374150c13c8daa056333d7725cc',1,'chassis.h']]], + ['onlp_5fchassis_5fenvironment_5fto_5fjson',['onlp_chassis_environment_to_json',['../group__oid-chassis.html#gaf6abace48cde657a359089dcbfbcaf42',1,'chassis.h']]], + ['onlp_5fchassis_5fhdr_5fget',['onlp_chassis_hdr_get',['../group__oid-chassis.html#ga767279094e83014582d1de47a4938e45',1,'chassis.h']]], + ['onlp_5fchassis_5fhw_5finit',['onlp_chassis_hw_init',['../group__oid-chassis.html#gae6d4c46597c06db0b16d1215a5f1c344',1,'chassis.h']]], + ['onlp_5fchassis_5finfo_5ffrom_5fjson',['onlp_chassis_info_from_json',['../group__oid-chassis.html#ga3220fbbfb3b1a3e0096b80b514ab68b0',1,'chassis.h']]], + ['onlp_5fchassis_5finfo_5fget',['onlp_chassis_info_get',['../group__oid-chassis.html#ga52aa540cdaf5ca53caf6deaf9f9a1443',1,'chassis.h']]], + ['onlp_5fchassis_5finfo_5fs',['onlp_chassis_info_s',['../structonlp__chassis__info__s.html',1,'']]], + ['onlp_5fchassis_5finfo_5ft',['onlp_chassis_info_t',['../group__oid-chassis.html#ga0bfbfeceae612049706739aebe8e2b08',1,'chassis.h']]], + ['onlp_5fchassis_5finfo_5fto_5fjson',['onlp_chassis_info_to_json',['../group__oid-chassis.html#ga106d4baebe8dbec41766cd2358ac3145',1,'chassis.h']]], + ['onlp_5fchassis_5finfo_5fto_5fuser_5fjson',['onlp_chassis_info_to_user_json',['../group__oid-chassis.html#gafc4d443dd97fd926547d69336249a7a6',1,'chassis.h']]], + ['onlp_5fchassis_5fpsu_5finfo_5fentry_5finit',['ONLP_CHASSIS_PSU_INFO_ENTRY_INIT',['../group__psui.html#gaba33f5e3da076bc11c4b0a107ea5bfd6',1,'psui.h']]], + ['onlp_5fchassis_5fsw_5fdenit',['onlp_chassis_sw_denit',['../group__oid-chassis.html#ga8ac7640a8bde84f78803c412d20f74f1',1,'chassis.h']]], + ['onlp_5fchassis_5fsw_5finit',['onlp_chassis_sw_init',['../group__oid-chassis.html#ga4b5e90ffb94e4801136e233ca89e27d5',1,'chassis.h']]], + ['onlp_5fchassis_5fthermal_5finfo_5fentry_5finit',['ONLP_CHASSIS_THERMAL_INFO_ENTRY_INIT',['../group__thermali.html#ga7fe96af939e769ee88b80ac0bb05a30d',1,'thermali.h']]], + ['onlp_5fchassisi_5fhdr_5fget',['onlp_chassisi_hdr_get',['../group__chassisi.html#gaa517f9bbed46130a503ffadbfb2d545a',1,'chassisi.h']]], + ['onlp_5fchassisi_5fhw_5finit',['onlp_chassisi_hw_init',['../group__chassisi.html#ga2218d0961a59fedbe3918598b97c3642',1,'chassisi.h']]], + ['onlp_5fchassisi_5finfo_5fget',['onlp_chassisi_info_get',['../group__chassisi.html#gac87883c25ca71efeb0ac6e96951bd3f1',1,'chassisi.h']]], + ['onlp_5fchassisi_5fsw_5fdenit',['onlp_chassisi_sw_denit',['../group__chassisi.html#gac89387874689e2106d41c2513bf23ae2',1,'chassisi.h']]], + ['onlp_5fchassisi_5fsw_5finit',['onlp_chassisi_sw_init',['../group__chassisi.html#ga19f7edff7cdadf5f4744e1be0e39213f',1,'chassisi.h']]], + ['onlp_5fconfig_2eh',['onlp_config.h',['../onlp__config_8h.html',1,'']]], + ['onlp_5fconfig_5fapi_5flock_5fglobal_5fshared',['ONLP_CONFIG_API_LOCK_GLOBAL_SHARED',['../group__onlp-config.html#gaf5abf66e3ad1c2807e29ea78fce77c5f',1,'onlp_config.h']]], + ['onlp_5fconfig_5fapi_5flock_5ftimeout',['ONLP_CONFIG_API_LOCK_TIMEOUT',['../group__onlp-config.html#gac8a6bbabede539feab90dcc2852281cc',1,'onlp_config.h']]], + ['onlp_5fconfig_5fconfiguration_5fenv',['ONLP_CONFIG_CONFIGURATION_ENV',['../group__onlp-config.html#ga0688f3371a917c70eba867a6a205ad73',1,'onlp_config.h']]], + ['onlp_5fconfig_5fconfiguration_5ffilename',['ONLP_CONFIG_CONFIGURATION_FILENAME',['../group__onlp-config.html#ga190ca7561e63091406a33e2ccf850834',1,'onlp_config.h']]], + ['onlp_5fconfig_5finclude_5fapi_5flock',['ONLP_CONFIG_INCLUDE_API_LOCK',['../group__onlp-config.html#gaa87f817871901f1d2009558dc8034953',1,'onlp_config.h']]], + ['onlp_5fconfig_5finclude_5fapi_5fprofiling',['ONLP_CONFIG_INCLUDE_API_PROFILING',['../group__onlp-config.html#gaca02be60b8490af6de6b995a53dd578d',1,'onlp_config.h']]], + ['onlp_5fconfig_5finclude_5flogging',['ONLP_CONFIG_INCLUDE_LOGGING',['../group__onlp-config.html#gad0668162d5ad21afa2132c47181cc470',1,'onlp_config.h']]], + ['onlp_5fconfig_5finclude_5fplatform_5ferror_5fcheck',['ONLP_CONFIG_INCLUDE_PLATFORM_ERROR_CHECK',['../group__onlp-config.html#gaaba50506e202b8a839a0030ed4dfbead',1,'onlp_config.h']]], + ['onlp_5fconfig_5finclude_5fplatform_5foverrides',['ONLP_CONFIG_INCLUDE_PLATFORM_OVERRIDES',['../group__onlp-config.html#ga9e5511482b42cbcc7927da6e4fb7a0e6',1,'onlp_config.h']]], + ['onlp_5fconfig_5finclude_5fshlock_5fglobal_5finit',['ONLP_CONFIG_INCLUDE_SHLOCK_GLOBAL_INIT',['../group__onlp-config.html#ga491f23ec8fcdfffe90276d81940668f4',1,'onlp_config.h']]], + ['onlp_5fconfig_5finclude_5fthermal_5fthresholds',['ONLP_CONFIG_INCLUDE_THERMAL_THRESHOLDS',['../group__onlp-config.html#gacf2b914c63e77ccd995c737adb8abf28',1,'onlp_config.h']]], + ['onlp_5fconfig_5finclude_5fucli',['ONLP_CONFIG_INCLUDE_UCLI',['../group__onlp-config.html#gaca75b1af492f6220cb11bc3660a64ad5',1,'onlp_config.h']]], + ['onlp_5fconfig_5finfo_5fstr_5fmax',['ONLP_CONFIG_INFO_STR_MAX',['../group__onlp-config.html#ga77a82a92413519c96830a2b50247896d',1,'onlp_config.h']]], + ['onlp_5fconfig_5flog_5fbits_5fdefault',['ONLP_CONFIG_LOG_BITS_DEFAULT',['../group__onlp-config.html#ga0801e63c85d8fcb33b134c41b53cfc52',1,'onlp_config.h']]], + ['onlp_5fconfig_5flog_5fcustom_5fbits_5fdefault',['ONLP_CONFIG_LOG_CUSTOM_BITS_DEFAULT',['../group__onlp-config.html#gab0f201c8b9790119ab5b1dcc8a8ff277',1,'onlp_config.h']]], + ['onlp_5fconfig_5flog_5foptions_5fdefault',['ONLP_CONFIG_LOG_OPTIONS_DEFAULT',['../group__onlp-config.html#gadccbccecf72360213b0762ba6a1836a5',1,'onlp_config.h']]], + ['onlp_5fconfig_5flookup',['onlp_config_lookup',['../group__onlp-config.html#ga91b2fd9cbf7ef094f3ed58e383a62c1d',1,'onlp_config.h']]], + ['onlp_5fconfig_5fplatform_5ffilename',['ONLP_CONFIG_PLATFORM_FILENAME',['../group__onlp-config.html#gaffec80f5b491e257de1b7d3966b7e5e8',1,'onlp_config.h']]], + ['onlp_5fconfig_5fplatform_5fname',['ONLP_CONFIG_PLATFORM_NAME',['../group__onlp-config.html#gaa14106c7cf14570575f4c71524759f0b',1,'onlp_config.h']]], + ['onlp_5fconfig_5fporting_5finclude_5fstdlib_5fheaders',['ONLP_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS',['../group__onlp-config.html#gab461412ca98d31e4cd8942ff87f3e54f',1,'onlp_config.h']]], + ['onlp_5fconfig_5fporting_5fstdlib',['ONLP_CONFIG_PORTING_STDLIB',['../group__onlp-config.html#ga60654dfa1a522fd97e6009a9a1332f40',1,'onlp_config.h']]], + ['onlp_5fconfig_5fsettings',['onlp_config_settings',['../group__onlp-config.html#ga9991c79d865a889970209820348cd726',1,'onlp_config.h']]], + ['onlp_5fconfig_5fsettings_5fs',['onlp_config_settings_s',['../structonlp__config__settings__s.html',1,'']]], + ['onlp_5fconfig_5fsettings_5ft',['onlp_config_settings_t',['../group__onlp-config.html#ga04a22ff069d177bd650f906005347cbf',1,'onlp_config.h']]], + ['onlp_5fconfig_5fshow',['onlp_config_show',['../group__onlp-config.html#ga9faf27984de75c1bfc093ad68e9167d9',1,'onlp_config.h']]], + ['onlp_5ffan_5fcaps_5fdesc',['onlp_fan_caps_desc',['../group__oid-fan.html#gab15da3fde6256a249a718130bcd625b2',1,'fan.h']]], + ['onlp_5ffan_5fcaps_5fdesc_5fmap',['onlp_fan_caps_desc_map',['../group__oid-fan.html#gaae011c1d2b8c11d0ff4103d724ba71bf',1,'fan.h']]], + ['onlp_5ffan_5fcaps_5fe',['onlp_fan_caps_e',['../group__oid-fan.html#gaa35303e454d5c1ca0f671b449fd90e9b',1,'fan.h']]], + ['onlp_5ffan_5fcaps_5fmap',['onlp_fan_caps_map',['../group__oid-fan.html#ga1c1e380f9acceaf65df901adca662eee',1,'fan.h']]], + ['onlp_5ffan_5fcaps_5fname',['onlp_fan_caps_name',['../group__oid-fan.html#ga921eeb1b9362119c7de5138774f17e91',1,'fan.h']]], + ['onlp_5ffan_5fcaps_5ft',['onlp_fan_caps_t',['../group__oid-fan.html#ga5248dd4b89567e49e80bb322acf1f164',1,'fan.h']]], + ['onlp_5ffan_5fcaps_5fvalid',['onlp_fan_caps_valid',['../group__oid-fan.html#ga7e2461a963a91dd52a481f4fc84b0118',1,'onlp_fan_caps_valid(onlp_fan_caps_t e): fan.h'],['../group__oid-fan.html#gaaff18fe0d31a37661b17a99c43b746e5',1,'ONLP_FAN_CAPS_VALID(): fan.h']]], + ['onlp_5ffan_5fcaps_5fvalue',['onlp_fan_caps_value',['../group__oid-fan.html#ga6d1a2ad784d73bf9ab0c059b7827d2dd',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fdesc',['onlp_fan_dir_desc',['../group__oid-fan.html#ga510fae515858e49a4dccf5a9d50ac1d1',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fdesc_5fmap',['onlp_fan_dir_desc_map',['../group__oid-fan.html#ga27d310514931faa5a4aaaa86466d3ef3',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fe',['onlp_fan_dir_e',['../group__oid-fan.html#gaa08d0df284450a8715a175b410a78cc8',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fmap',['onlp_fan_dir_map',['../group__oid-fan.html#ga4b356b7971d13e969659a7f1d52aca59',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fname',['onlp_fan_dir_name',['../group__oid-fan.html#ga7d8f1f3db2a0f7486f188e2ca2442165',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fset',['onlp_fan_dir_set',['../group__oid-fan.html#gac1409d618b163077a4b2aea154b88db2',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fstrings',['ONLP_FAN_DIR_STRINGS',['../group__oid-fan.html#gaa1234770e6e24a018bc85569f6e8166a',1,'fan.h']]], + ['onlp_5ffan_5fdir_5ft',['onlp_fan_dir_t',['../group__oid-fan.html#gae3c4db300fd87f5b3d531185f369a0fd',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fvalid',['ONLP_FAN_DIR_VALID',['../group__oid-fan.html#ga633419c09c7473bc228350b22db8db7f',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fvalue',['onlp_fan_dir_value',['../group__oid-fan.html#ga30e1ad218af51ebc771f7d2c17530b4e',1,'fan.h']]], + ['onlp_5ffan_5fhdr_5fget',['onlp_fan_hdr_get',['../group__oid-fan.html#ga0cff703e958970c3e716e6ac28098f66',1,'fan.h']]], + ['onlp_5ffan_5fhw_5finit',['onlp_fan_hw_init',['../group__oid-fan.html#gadbaed334e7be33a4801adcf1b45c2d0c',1,'fan.h']]], + ['onlp_5ffan_5finfo_5fcap_5fis_5fset',['ONLP_FAN_INFO_CAP_IS_SET',['../group__oid-fan.html#gae79e6808d83d95e4386151d6211b999c',1,'fan.h']]], + ['onlp_5ffan_5finfo_5ffrom_5fjson',['onlp_fan_info_from_json',['../group__oid-fan.html#gab4e2b7a1f60efa4dc7e4fc481de35271',1,'fan.h']]], + ['onlp_5ffan_5finfo_5fget',['onlp_fan_info_get',['../group__oid-fan.html#ga34da9a1a3774e74b53ff450c17f34ad2',1,'fan.h']]], + ['onlp_5ffan_5finfo_5fs',['onlp_fan_info_s',['../structonlp__fan__info__s.html',1,'']]], + ['onlp_5ffan_5finfo_5ft',['onlp_fan_info_t',['../group__oid-fan.html#gafaba5a99a4668595c0442bb1e1ece3bf',1,'fan.h']]], + ['onlp_5ffan_5finfo_5fto_5fjson',['onlp_fan_info_to_json',['../group__oid-fan.html#ga3119d07b3fc57e08e7c6d12eb6f785ad',1,'fan.h']]], + ['onlp_5ffan_5finfo_5fto_5fuser_5fjson',['onlp_fan_info_to_user_json',['../group__oid-fan.html#ga7bf17f792c118a18e2fdd5bffbcf51b4',1,'fan.h']]], + ['onlp_5ffan_5fpercentage_5fset',['onlp_fan_percentage_set',['../group__oid-fan.html#ga4202cfe1cddb551e583bb36856468902',1,'fan.h']]], + ['onlp_5ffan_5frpm_5fset',['onlp_fan_rpm_set',['../group__oid-fan.html#ga8aadc96f3b61b9264fdb691477ea6c7e',1,'fan.h']]], + ['onlp_5ffan_5fstatus_5ffailed',['ONLP_FAN_STATUS_FAILED',['../group__oid-fan.html#gaf098846dbdefbecab905e947505bca33',1,'fan.h']]], + ['onlp_5ffan_5fstatus_5fmissing',['ONLP_FAN_STATUS_MISSING',['../group__oid-fan.html#ga7f723bf2496882733dae10f963a4a7cc',1,'fan.h']]], + ['onlp_5ffan_5fstatus_5fnormal',['ONLP_FAN_STATUS_NORMAL',['../group__oid-fan.html#gaa58b94fed05eb8ff816039478480f92e',1,'fan.h']]], + ['onlp_5ffan_5fstatus_5fpresent',['ONLP_FAN_STATUS_PRESENT',['../group__oid-fan.html#gae583f8e97e9b72dfc1eec1e35ef2241e',1,'fan.h']]], + ['onlp_5ffan_5fsw_5fdenit',['onlp_fan_sw_denit',['../group__oid-fan.html#gadd7ca7fdc99b5d97acea388928d52ae0',1,'fan.h']]], + ['onlp_5ffan_5fsw_5finit',['onlp_fan_sw_init',['../group__oid-fan.html#gaef948ec38bffbb162650cbbad766cf6d',1,'fan.h']]], + ['onlp_5ffani_5fdir_5fset',['onlp_fani_dir_set',['../group__fani.html#gae7d7be9181bec187f8d6b84bb093c6fd',1,'fani.h']]], + ['onlp_5ffani_5fhdr_5fget',['onlp_fani_hdr_get',['../group__fani.html#gaadf65a5e35759bf0178e2a58067e8ac4',1,'fani.h']]], + ['onlp_5ffani_5fhw_5finit',['onlp_fani_hw_init',['../group__fani.html#ga97678f1bb8c068bbc43f9fb3c921579f',1,'fani.h']]], + ['onlp_5ffani_5finfo_5fget',['onlp_fani_info_get',['../group__fani.html#gac5cdbba1d0aba261d5b23d1680972b7c',1,'fani.h']]], + ['onlp_5ffani_5fpercentage_5fset',['onlp_fani_percentage_set',['../group__fani.html#ga587beb237351298776775cf6261193de',1,'fani.h']]], + ['onlp_5ffani_5frpm_5fset',['onlp_fani_rpm_set',['../group__fani.html#ga200ea1d0ae5d67e60240a605498e5a6e',1,'fani.h']]], + ['onlp_5ffani_5fsw_5fdenit',['onlp_fani_sw_denit',['../group__fani.html#gaa6ba5661d59715e21f107f1286a69c95',1,'fani.h']]], + ['onlp_5ffani_5fsw_5finit',['onlp_fani_sw_init',['../group__fani.html#ga1feeaf21197e6fca528db5bb9a6a28f6',1,'fani.h']]], + ['onlp_5fgeneric_5fhdr_5fget',['onlp_generic_hdr_get',['../group__oid-generic.html#gae6be5cc3102ef407b2107dd73e1c3d82',1,'generic.h']]], + ['onlp_5fgeneric_5fhw_5finit',['onlp_generic_hw_init',['../group__oid-generic.html#gaf08e41b2394efc5c6c5ac5f404f7271e',1,'generic.h']]], + ['onlp_5fgeneric_5finfo_5ffrom_5fjson',['onlp_generic_info_from_json',['../group__oid-generic.html#ga38ec8e74265983fb67e744d3d19b55f8',1,'generic.h']]], + ['onlp_5fgeneric_5finfo_5fget',['onlp_generic_info_get',['../group__oid-generic.html#gae24e262357a44ba5d5c10c2bb9aacaf9',1,'generic.h']]], + ['onlp_5fgeneric_5finfo_5fs',['onlp_generic_info_s',['../structonlp__generic__info__s.html',1,'']]], + ['onlp_5fgeneric_5finfo_5ft',['onlp_generic_info_t',['../group__oid-generic.html#ga848d526cf34ea1fb0cea7b3d5e02238f',1,'generic.h']]], + ['onlp_5fgeneric_5finfo_5fto_5fjson',['onlp_generic_info_to_json',['../group__oid-generic.html#gabf81dc59c0dc71f5fce380af0893ccdd',1,'generic.h']]], + ['onlp_5fgeneric_5finfo_5fto_5fuser_5fjson',['onlp_generic_info_to_user_json',['../group__oid-generic.html#ga52f776c183f45d6231c403736ed1baff',1,'generic.h']]], + ['onlp_5fgeneric_5fsw_5fdenit',['onlp_generic_sw_denit',['../group__oid-generic.html#ga2281d926ce9b0cce1dc98d8a37d70b4b',1,'generic.h']]], + ['onlp_5fgeneric_5fsw_5finit',['onlp_generic_sw_init',['../group__oid-generic.html#ga3841de07d924ade1c32716764b72dce3',1,'generic.h']]], + ['onlp_5fled_5finfo_5fs',['onlp_led_info_s',['../structonlp__led__info__s.html',1,'']]], + ['onlp_5fmodule_5fhdr_5fget',['onlp_module_hdr_get',['../group__oid-module.html#gac1703816dc97c5bc733eaefd64274405',1,'module.h']]], + ['onlp_5fmodule_5fhw_5finit',['onlp_module_hw_init',['../group__oid-module.html#ga4eb92a50197927c4073ad9834f63313f',1,'module.h']]], + ['onlp_5fmodule_5finfo_5ffrom_5fjson',['onlp_module_info_from_json',['../group__oid-module.html#gae20051e9ae1b103aefadb85a32331aa2',1,'module.h']]], + ['onlp_5fmodule_5finfo_5fget',['onlp_module_info_get',['../group__oid-module.html#gadca3359f4cf0aa19c79e5b64f8f32eba',1,'module.h']]], + ['onlp_5fmodule_5finfo_5fs',['onlp_module_info_s',['../structonlp__module__info__s.html',1,'']]], + ['onlp_5fmodule_5finfo_5ft',['onlp_module_info_t',['../group__oid-module.html#ga246953cdb6be7b83bac70f0b1d7c297a',1,'module.h']]], + ['onlp_5fmodule_5finfo_5fto_5fjson',['onlp_module_info_to_json',['../group__oid-module.html#ga17d1a205aa97e17304f55f44b29a458d',1,'module.h']]], + ['onlp_5fmodule_5finfo_5fto_5fuser_5fjson',['onlp_module_info_to_user_json',['../group__oid-module.html#gaa6c560b25a4d38d5ad373e266c671f54',1,'module.h']]], + ['onlp_5fmodule_5fsw_5fdenit',['onlp_module_sw_denit',['../group__oid-module.html#gafcf71feb9c8da89f6c5d1d474aa08c86',1,'module.h']]], + ['onlp_5fmodule_5fsw_5finit',['onlp_module_sw_init',['../group__oid-module.html#gaf0fffd240af6133de708bd5826d6b53b',1,'module.h']]], + ['onlp_5foid_5fhdr_5fs',['onlp_oid_hdr_s',['../structonlp__oid__hdr__s.html',1,'']]], + ['onlp_5fporting_2eh',['onlp_porting.h',['../onlp__porting_8h.html',1,'']]], + ['onlp_5fpsu_5fcaps_5fdesc',['onlp_psu_caps_desc',['../group__oid-psu.html#ga38280bb55905958c3966059af244e707',1,'psu.h']]], + ['onlp_5fpsu_5fcaps_5fdesc_5fmap',['onlp_psu_caps_desc_map',['../group__oid-psu.html#ga0db5f2ef0e61d2af19a093da16cfdac1',1,'psu.h']]], + ['onlp_5fpsu_5fcaps_5fe',['onlp_psu_caps_e',['../group__oid-psu.html#ga7e0491598e576f7c49c0e3ff06bf4db2',1,'psu.h']]], + ['onlp_5fpsu_5fcaps_5fmap',['onlp_psu_caps_map',['../group__oid-psu.html#ga5a15784398faa7998a5453e0cc0a5da9',1,'psu.h']]], + ['onlp_5fpsu_5fcaps_5fname',['onlp_psu_caps_name',['../group__oid-psu.html#ga672c5a2f5b63a48b1e8bf6a8dc4a9391',1,'psu.h']]], + ['onlp_5fpsu_5fcaps_5ft',['onlp_psu_caps_t',['../group__oid-psu.html#ga5216b462cd966b7e8a7b60bb4f7edb3c',1,'psu.h']]], + ['onlp_5fpsu_5fcaps_5fvalid',['onlp_psu_caps_valid',['../group__oid-psu.html#ga9fc8b05cd2e00ce40ab79f36915e8a83',1,'onlp_psu_caps_valid(onlp_psu_caps_t e): psu.h'],['../group__oid-psu.html#ga9ae51dbe38792bdba2ebca18cec08a07',1,'ONLP_PSU_CAPS_VALID(): psu.h']]], + ['onlp_5fpsu_5fcaps_5fvalue',['onlp_psu_caps_value',['../group__oid-psu.html#ga75b459b893e21dc6e24b44461312a01c',1,'psu.h']]], + ['onlp_5fpsu_5fhdr_5fget',['onlp_psu_hdr_get',['../group__oid-psu.html#ga92999b5dea1b92e35941bf9ac2acfa9d',1,'psu.h']]], + ['onlp_5fpsu_5fhw_5finit',['onlp_psu_hw_init',['../group__oid-psu.html#ga44cb63826a53ee5f13489a08a51ab885',1,'psu.h']]], + ['onlp_5fpsu_5finfo_5fcap_5fis_5fset',['ONLP_PSU_INFO_CAP_IS_SET',['../group__oid-psu.html#ga7d5833adba7294ce2e1c5b313d97c30d',1,'psu.h']]], + ['onlp_5fpsu_5finfo_5ffrom_5fjson',['onlp_psu_info_from_json',['../group__oid-psu.html#ga870991253d44f35ef9c6c395c3bc7451',1,'psu.h']]], + ['onlp_5fpsu_5finfo_5fget',['onlp_psu_info_get',['../group__oid-psu.html#ga8677e4a71d8a4438606110c2ef9fc60e',1,'psu.h']]], + ['onlp_5fpsu_5finfo_5ft',['onlp_psu_info_t',['../structonlp__psu__info__t.html',1,'onlp_psu_info_t'],['../group__oid-psu.html#ga0c73830bfa1abf8ff6013f0e522071a6',1,'onlp_psu_info_t(): psu.h']]], + ['onlp_5fpsu_5finfo_5fto_5fjson',['onlp_psu_info_to_json',['../group__oid-psu.html#ga2dbe37ac3924e60dafe6135157b37bb6',1,'psu.h']]], + ['onlp_5fpsu_5finfo_5fto_5fuser_5fjson',['onlp_psu_info_to_user_json',['../group__oid-psu.html#gac3450d83ebaedba241c43000ce860d97',1,'psu.h']]], + ['onlp_5fpsu_5fstatus_5ffailed',['ONLP_PSU_STATUS_FAILED',['../group__oid-psu.html#gab44371b0a34d4d0ff98acbd2cb8d0a6d',1,'psu.h']]], + ['onlp_5fpsu_5fstatus_5fmissing',['ONLP_PSU_STATUS_MISSING',['../group__oid-psu.html#ga70eec015cc1f809bde536e47c176032e',1,'psu.h']]], + ['onlp_5fpsu_5fstatus_5fpresent',['ONLP_PSU_STATUS_PRESENT',['../group__oid-psu.html#ga1fdb945c034ffcb2d3e1a5645003e665',1,'psu.h']]], + ['onlp_5fpsu_5fsw_5fdenit',['onlp_psu_sw_denit',['../group__oid-psu.html#ga129a21fa7eb314964c2db4fd8d660572',1,'psu.h']]], + ['onlp_5fpsu_5fsw_5finit',['onlp_psu_sw_init',['../group__oid-psu.html#ga0a66e62f758e2ed534af11040838a26d',1,'psu.h']]], + ['onlp_5fpsu_5fthermal_5finfo_5fentry_5finit',['ONLP_PSU_THERMAL_INFO_ENTRY_INIT',['../group__thermali.html#gac76973a8e06fe9651dd7854481c3beb5',1,'thermali.h']]], + ['onlp_5fpsu_5ftype_5fdesc',['onlp_psu_type_desc',['../group__oid-psu.html#ga94105699304ae853a5bc0b459c3c81ee',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5fdesc_5fmap',['onlp_psu_type_desc_map',['../group__oid-psu.html#gae30575ab2613a0f513c4d9eb87ce6648',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5fe',['onlp_psu_type_e',['../group__oid-psu.html#gaa7d21badd0020759ca370dac9e747be1',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5fmap',['onlp_psu_type_map',['../group__oid-psu.html#ga3088390a518e35c54558cf0833b2faec',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5fname',['onlp_psu_type_name',['../group__oid-psu.html#ga8a25191dc43d3b40dbd302fa86d342e6',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5fstrings',['ONLP_PSU_TYPE_STRINGS',['../group__oid-psu.html#ga6eb413046077a3f5aa3931e8405793cf',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5ft',['onlp_psu_type_t',['../group__oid-psu.html#gacda088bcdd290bd1a6ab4fbe38f92e30',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5fvalid',['ONLP_PSU_TYPE_VALID',['../group__oid-psu.html#ga3d93a2c17e8bd795369f304d780710f6',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5fvalue',['onlp_psu_type_value',['../group__oid-psu.html#ga10194c8cc758924547524561fd15cd6e',1,'psu.h']]], + ['onlp_5fpsui_5fhdr_5fget',['onlp_psui_hdr_get',['../group__psui.html#gabfc93ced2b1436db99357b22c9c1ef61',1,'psui.h']]], + ['onlp_5fpsui_5fhw_5finit',['onlp_psui_hw_init',['../group__psui.html#ga48757edc28f58f1602c4cc7ca2e9ef9c',1,'psui.h']]], + ['onlp_5fpsui_5finfo_5fget',['onlp_psui_info_get',['../group__psui.html#gaf5fbee43118662c54cb80de997c68361',1,'psui.h']]], + ['onlp_5fpsui_5fsw_5fdenit',['onlp_psui_sw_denit',['../group__psui.html#ga69f99c6a90fbb5d1c03349b47970fa98',1,'psui.h']]], + ['onlp_5fpsui_5fsw_5finit',['onlp_psui_sw_init',['../group__psui.html#gaf67bedb47907fd5c8548784b92813c79',1,'psui.h']]], + ['onlp_5fsfp_5fbitmap_5fget',['onlp_sfp_bitmap_get',['../group__oid-sfp.html#gaca3a3044b4a36a589235c295f3d58e95',1,'sfp.h']]], + ['onlp_5fsfp_5fbitmap_5ft',['onlp_sfp_bitmap_t',['../group__oid-sfp.html#ga4bb7b4423434a976e2f2eb76264845c0',1,'sfp.h']]], + ['onlp_5fsfp_5fbitmap_5ft_5finit',['onlp_sfp_bitmap_t_init',['../group__oid-sfp.html#ga024558cadac46574b0f2f7825be001df',1,'sfp.h']]], + ['onlp_5fsfp_5fblock_5fdata_5fsize',['ONLP_SFP_BLOCK_DATA_SIZE',['../group__oid-sfp.html#gab1385485eb717359a475368346a12a25',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fdesc',['onlp_sfp_control_desc',['../group__oid-sfp.html#gaabe16aa090df2d957f37d9b12613c1dc',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fdesc_5fmap',['onlp_sfp_control_desc_map',['../group__oid-sfp.html#ga8c94cbefa56a54355eb669f09a8ee2b8',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fe',['onlp_sfp_control_e',['../group__oid-sfp.html#gaf29fbfca2b1c31a5162826477fa33ff8',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fdesc',['onlp_sfp_control_flag_desc',['../group__oid-sfp.html#gad069e77e039310225a43f3d964017f11',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fdesc_5fmap',['onlp_sfp_control_flag_desc_map',['../group__oid-sfp.html#ga936d5de6a398e6b46e7158221368cebe',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fe',['onlp_sfp_control_flag_e',['../group__oid-sfp.html#gaa5f47c8376157121243d9731781ca73b',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fmap',['onlp_sfp_control_flag_map',['../group__oid-sfp.html#ga4a3e5b31a83eb0ce5991a898da26fb3b',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fname',['onlp_sfp_control_flag_name',['../group__oid-sfp.html#ga3ee038ae3c4ac44ea189a6a741e7d5d4',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5ft',['onlp_sfp_control_flag_t',['../group__oid-sfp.html#gad45e59ad466b61cb579b9e48c43da267',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fvalid',['ONLP_SFP_CONTROL_FLAG_VALID',['../group__oid-sfp.html#ga989005679eaffc3d92faf981a81f3fa4',1,'ONLP_SFP_CONTROL_FLAG_VALID(): sfp.h'],['../group__oid-sfp.html#gaaceb5da539f4bf3b5f28d3d709070f50',1,'onlp_sfp_control_flag_valid(onlp_sfp_control_flag_t e): sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fvalue',['onlp_sfp_control_flag_value',['../group__oid-sfp.html#ga89e30eaca0210dfa9f05ba792688d336',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflags_5fget',['onlp_sfp_control_flags_get',['../group__oid-sfp.html#ga4e8927190aea45c34b3c127f9f34a9c7',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fget',['onlp_sfp_control_get',['../group__oid-sfp.html#ga81b48168ee3d731c9c4f2cae10f5bb28',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fmap',['onlp_sfp_control_map',['../group__oid-sfp.html#ga401aa4f153a66b480013f54df3a681a0',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fname',['onlp_sfp_control_name',['../group__oid-sfp.html#ga3a3fe23c574a14ba56e66c5cc763107a',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fset',['onlp_sfp_control_set',['../group__oid-sfp.html#ga6be15ecd32cc3ec2138d46666eea5fb0',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fstrings',['ONLP_SFP_CONTROL_STRINGS',['../group__oid-sfp.html#gafae66c7efc6a877401cfeb27c673a31e',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5ft',['onlp_sfp_control_t',['../group__oid-sfp.html#ga4b865c10ba285bacfd5458731bbb0aa0',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fvalid',['ONLP_SFP_CONTROL_VALID',['../group__oid-sfp.html#ga7360455235757b6d6e6120a33b779712',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fvalue',['onlp_sfp_control_value',['../group__oid-sfp.html#ga408da8b5556cbd29efa7f33f8ad3cfd9',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5falloc_5fread',['onlp_sfp_dev_alloc_read',['../group__oid-sfp.html#ga069871c0f80424334d41ab80f03b7551',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5fread',['onlp_sfp_dev_read',['../group__oid-sfp.html#gacfdf956cf5f13223ce97115a4e18e0dc',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5freadb',['onlp_sfp_dev_readb',['../group__oid-sfp.html#gaca7b6aabd314fdfeb0717d1ca99afd44',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5freadw',['onlp_sfp_dev_readw',['../group__oid-sfp.html#ga561786b780a4c4f783e0f1a1ba338852',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5fwrite',['onlp_sfp_dev_write',['../group__oid-sfp.html#ga1a04f50c220c519ecc50854da6ba1eab',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5fwriteb',['onlp_sfp_dev_writeb',['../group__oid-sfp.html#gae3f4351c92a17a7c027a3d5938e7bf9d',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5fwritew',['onlp_sfp_dev_writew',['../group__oid-sfp.html#gade0024db4bd8a506032b8c677c23248d',1,'sfp.h']]], + ['onlp_5fsfp_5fhdr_5fget',['onlp_sfp_hdr_get',['../group__oid-sfp.html#ga6bc9c7ba527fd6fc609cc5ca0adfc9e3',1,'sfp.h']]], + ['onlp_5fsfp_5fhw_5fdenit',['onlp_sfp_hw_denit',['../group__oid-sfp.html#ga4ae219c9c07fe099f310717f6e16e2ef',1,'sfp.h']]], + ['onlp_5fsfp_5fhw_5finit',['onlp_sfp_hw_init',['../group__oid-sfp.html#ga77f0c8673330ec9e19ea914f08e6951c',1,'sfp.h']]], + ['onlp_5fsfp_5finfo_5fdom_5fget',['onlp_sfp_info_dom_get',['../group__oid-sfp.html#gab9ce05cf5e2103a5629b818c6a0efbc5',1,'sfp.h']]], + ['onlp_5fsfp_5finfo_5ffrom_5fjson',['onlp_sfp_info_from_json',['../group__oid-sfp.html#ga403f27122b4a82edcaaf4b57903687b4',1,'sfp.h']]], + ['onlp_5fsfp_5finfo_5fget',['onlp_sfp_info_get',['../group__oid-sfp.html#gaf131bd4c51ea05527b2340182182b155',1,'sfp.h']]], + ['onlp_5fsfp_5finfo_5ft',['onlp_sfp_info_t',['../structonlp__sfp__info__t.html',1,'onlp_sfp_info_t'],['../group__oid-sfp.html#ga40f6a919c28c6cd8e2ce44c5a0f48f61',1,'onlp_sfp_info_t(): sfp.h']]], + ['onlp_5fsfp_5finfo_5fto_5fjson',['onlp_sfp_info_to_json',['../group__oid-sfp.html#ga0f27cb1652c039deb59e033c9b87f0c5',1,'sfp.h']]], + ['onlp_5fsfp_5finfo_5fto_5fuser_5fjson',['onlp_sfp_info_to_user_json',['../group__oid-sfp.html#ga3019ca6a28f99008b887ac3a3be16777',1,'sfp.h']]], + ['onlp_5fsfp_5finventory_5fshow',['onlp_sfp_inventory_show',['../group__oid-sfp.html#ga9536c3ef57b06b36d5441807a7f0a58c',1,'sfp.h']]], + ['onlp_5fsfp_5fis_5fpresent',['onlp_sfp_is_present',['../group__oid-sfp.html#ga216326f78fcee21521e921523d22f959',1,'sfp.h']]], + ['onlp_5fsfp_5fport_5fvalid',['onlp_sfp_port_valid',['../group__oid-sfp.html#ga52c42d1ebd2b29fabcdb7e2fc281b189',1,'sfp.h']]], + ['onlp_5fsfp_5fpost_5finsert',['onlp_sfp_post_insert',['../group__oid-sfp.html#ga5be3ce5f818c3f58b7b64b8cc652d099',1,'sfp.h']]], + ['onlp_5fsfp_5fpresence_5fbitmap_5fget',['onlp_sfp_presence_bitmap_get',['../group__oid-sfp.html#gab5dda46dcad623d1da1e9c546672926a',1,'sfp.h']]], + ['onlp_5fsfp_5frx_5flos_5fbitmap_5fget',['onlp_sfp_rx_los_bitmap_get',['../group__oid-sfp.html#ga7b78bfb77966e2b17e66180bb0d603e7',1,'sfp.h']]], + ['onlp_5fsfp_5fsw_5fdenit',['onlp_sfp_sw_denit',['../group__oid-sfp.html#gaffeb9f8b8faf25811f24530e174af3a3',1,'sfp.h']]], + ['onlp_5fsfp_5fsw_5finit',['onlp_sfp_sw_init',['../group__oid-sfp.html#ga6ba826c2539b2b938351cd3b996722ae',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fdesc',['onlp_sfp_type_desc',['../group__oid-sfp.html#ga027f6cdde9356ca814eb3c39edcaa6f6',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fdesc_5fmap',['onlp_sfp_type_desc_map',['../group__oid-sfp.html#ga37b8c43ea60e6389105e581f652e97f9',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fe',['onlp_sfp_type_e',['../group__oid-sfp.html#gaa463bca5ebf76e73e7c7c81ed239888a',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fget',['onlp_sfp_type_get',['../group__oid-sfp.html#gaecbc815776987075b9afeb817f6d0e80',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fmap',['onlp_sfp_type_map',['../group__oid-sfp.html#ga77e6b91b2abc4b438fe44ac8c899450d',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fname',['onlp_sfp_type_name',['../group__oid-sfp.html#gaf3c4972599644ac007a0596dabbcadbb',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fstrings',['ONLP_SFP_TYPE_STRINGS',['../group__oid-sfp.html#gaf0b5ef6aa461103564869f801f51b450',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5ft',['onlp_sfp_type_t',['../group__oid-sfp.html#gae972601807953e28afc78e5e0bda6387',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fvalid',['ONLP_SFP_TYPE_VALID',['../group__oid-sfp.html#gae24cc7d8b54106aa2aca933c9e07244e',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fvalue',['onlp_sfp_type_value',['../group__oid-sfp.html#gaa852c273cc83ca4dd42df27c73aa5e29',1,'sfp.h']]], + ['onlp_5fsfpi_5fbitmap_5fget',['onlp_sfpi_bitmap_get',['../group__sfpi.html#gafce60086ad5cf6c07107d2bf743dfccc',1,'sfpi.h']]], + ['onlp_5fsfpi_5fcontrol_5fget',['onlp_sfpi_control_get',['../group__sfpi.html#ga21f2a730b196d1edcdbb52cc87dbf6bb',1,'sfpi.h']]], + ['onlp_5fsfpi_5fcontrol_5fset',['onlp_sfpi_control_set',['../group__sfpi.html#ga20d6a9cd0f3244da3f911e5f99980e2c',1,'sfpi.h']]], + ['onlp_5fsfpi_5fcontrol_5fsupported',['onlp_sfpi_control_supported',['../group__sfpi.html#gab7b770a900ebf31f4b5a56162dac27e0',1,'sfpi.h']]], + ['onlp_5fsfpi_5fdev_5fread',['onlp_sfpi_dev_read',['../group__sfpi.html#gae0857175e90c4e90f3c53b154e9fc0c7',1,'sfpi.h']]], + ['onlp_5fsfpi_5fdev_5freadb',['onlp_sfpi_dev_readb',['../group__sfpi.html#ga73cb9e63f7489dbaed5d2bad995367db',1,'sfpi.h']]], + ['onlp_5fsfpi_5fdev_5freadw',['onlp_sfpi_dev_readw',['../group__sfpi.html#ga263d5f512b4836e80a7496215aacbd5f',1,'sfpi.h']]], + ['onlp_5fsfpi_5fdev_5fwrite',['onlp_sfpi_dev_write',['../group__sfpi.html#gae1441f10404f92dc23fac35057d81961',1,'sfpi.h']]], + ['onlp_5fsfpi_5fdev_5fwriteb',['onlp_sfpi_dev_writeb',['../group__sfpi.html#gafebe370835b919fb62d7cf3d8a964772',1,'sfpi.h']]], + ['onlp_5fsfpi_5fdev_5fwritew',['onlp_sfpi_dev_writew',['../group__sfpi.html#ga184a9ce9f428b91b4d0598353232070f',1,'sfpi.h']]], + ['onlp_5fsfpi_5fhdr_5fget',['onlp_sfpi_hdr_get',['../group__sfpi.html#gaff592c3b985f37e467c4a399f7f8f445',1,'sfpi.h']]], + ['onlp_5fsfpi_5fhw_5finit',['onlp_sfpi_hw_init',['../group__sfpi.html#ga62e4ec0395966f9da20a043f5c7db20c',1,'sfpi.h']]], + ['onlp_5fsfpi_5fis_5fpresent',['onlp_sfpi_is_present',['../group__sfpi.html#ga7e66c925d2d06b679526ec7d940d6365',1,'sfpi.h']]], + ['onlp_5fsfpi_5fport_5fmap',['onlp_sfpi_port_map',['../group__sfpi.html#gadc31d9d3a4c5a03ee59e0bf0ec7f88fe',1,'sfpi.h']]], + ['onlp_5fsfpi_5fpost_5finsert',['onlp_sfpi_post_insert',['../group__sfpi.html#ga2a8f4f0470096958f798b2682becb399',1,'sfpi.h']]], + ['onlp_5fsfpi_5fpresence_5fbitmap_5fget',['onlp_sfpi_presence_bitmap_get',['../group__sfpi.html#ga4819bda2ce5f3a9e7e9969c0d0ed6d64',1,'sfpi.h']]], + ['onlp_5fsfpi_5frx_5flos_5fbitmap_5fget',['onlp_sfpi_rx_los_bitmap_get',['../group__sfpi.html#ga55789bbc0c35d4b4f964e24c02104f3a',1,'sfpi.h']]], + ['onlp_5fsfpi_5fsw_5fdenit',['onlp_sfpi_sw_denit',['../group__sfpi.html#ga6ef11305b876987b1c856c52c1055d50',1,'sfpi.h']]], + ['onlp_5fsfpi_5fsw_5finit',['onlp_sfpi_sw_init',['../group__sfpi.html#ga3997d7908b11bcbb23147d603323c943',1,'sfpi.h']]], + ['onlp_5fsfpi_5ftype_5fget',['onlp_sfpi_type_get',['../group__sfpi.html#ga1fcab0135f9dd12111ec15a557add961',1,'sfpi.h']]], + ['onlp_5fthermal_5fcaps_5fall',['ONLP_THERMAL_CAPS_ALL',['../group__oid-thermal.html#ga66649ad3c572a57caca1866e7c0f3924',1,'thermal.h']]], + ['onlp_5fthermal_5fcaps_5fdesc',['onlp_thermal_caps_desc',['../group__oid-thermal.html#ga2fee06677b8479ea51f5c249d65af439',1,'thermal.h']]], + ['onlp_5fthermal_5fcaps_5fdesc_5fmap',['onlp_thermal_caps_desc_map',['../group__oid-thermal.html#gab80fcba63d439f3cfff302db54796564',1,'thermal.h']]], + ['onlp_5fthermal_5fcaps_5fe',['onlp_thermal_caps_e',['../group__oid-thermal.html#gad0fff3493dbbf447fa8f9250f6fdea28',1,'thermal.h']]], + ['onlp_5fthermal_5fcaps_5fget_5fany_5fthreshold',['ONLP_THERMAL_CAPS_GET_ANY_THRESHOLD',['../group__oid-thermal.html#gaebc517cd73a51be9e5261c8749c713b8',1,'thermal.h']]], + ['onlp_5fthermal_5fcaps_5fmap',['onlp_thermal_caps_map',['../group__oid-thermal.html#gace07bcb9e15e48c1a19dc83212cca354',1,'thermal.h']]], + ['onlp_5fthermal_5fcaps_5fname',['onlp_thermal_caps_name',['../group__oid-thermal.html#ga56a1472bd1d4c0099477c431a11260de',1,'thermal.h']]], + ['onlp_5fthermal_5fcaps_5ft',['onlp_thermal_caps_t',['../group__oid-thermal.html#gabd4b3f2683b2ab876b97f5821a11dee3',1,'thermal.h']]], + ['onlp_5fthermal_5fcaps_5fvalid',['ONLP_THERMAL_CAPS_VALID',['../group__oid-thermal.html#gaa6aa850880a30b34a4b98cb1ac54b590',1,'ONLP_THERMAL_CAPS_VALID(): thermal.h'],['../group__oid-thermal.html#ga36e088dc11441a779af6d0cdf46c1b5b',1,'onlp_thermal_caps_valid(onlp_thermal_caps_t e): thermal.h']]], + ['onlp_5fthermal_5fcaps_5fvalue',['onlp_thermal_caps_value',['../group__oid-thermal.html#ga5559556646dd43a80250b74edea5071e',1,'thermal.h']]], + ['onlp_5fthermal_5fhdr_5fget',['onlp_thermal_hdr_get',['../group__oid-thermal.html#gaab0f9b7b4beee33b04621cb2c908b09b',1,'thermal.h']]], + ['onlp_5fthermal_5fhw_5finit',['onlp_thermal_hw_init',['../group__oid-thermal.html#ga732d586e1e5263e355caa17cad37a9c4',1,'thermal.h']]], + ['onlp_5fthermal_5finfo_5fcap_5fis_5fset',['ONLP_THERMAL_INFO_CAP_IS_SET',['../group__oid-thermal.html#gace2e7e63077d556379589e0fa14c7e81',1,'thermal.h']]], + ['onlp_5fthermal_5finfo_5fentry_5finit',['ONLP_THERMAL_INFO_ENTRY_INIT',['../group__thermali.html#gab5f1a7a889447b2109589e8962d2c042',1,'thermali.h']]], + ['onlp_5fthermal_5finfo_5ffrom_5fjson',['onlp_thermal_info_from_json',['../group__oid-thermal.html#ga46219356cfb26892b8efa4e6b0c0d88b',1,'thermal.h']]], + ['onlp_5fthermal_5finfo_5fget',['onlp_thermal_info_get',['../group__oid-thermal.html#ga4ae826e9345713b891c7f37fdaf14d1a',1,'thermal.h']]], + ['onlp_5fthermal_5finfo_5fs',['onlp_thermal_info_s',['../structonlp__thermal__info__s.html',1,'']]], + ['onlp_5fthermal_5finfo_5ft',['onlp_thermal_info_t',['../group__oid-thermal.html#gad25160e669b56a59f9ee2f6d2e2536ae',1,'thermal.h']]], + ['onlp_5fthermal_5finfo_5fto_5fjson',['onlp_thermal_info_to_json',['../group__oid-thermal.html#ga39e4d7f466d8bb5a20d9930467ab9bba',1,'thermal.h']]], + ['onlp_5fthermal_5finfo_5fto_5fuser_5fjson',['onlp_thermal_info_to_user_json',['../group__oid-thermal.html#ga32b1654466ed31300f190cf21fd04fbc',1,'thermal.h']]], + ['onlp_5fthermal_5fsw_5fdenit',['onlp_thermal_sw_denit',['../group__oid-thermal.html#ga021b8766d4c07b1e465b5d7ed544d8ff',1,'thermal.h']]], + ['onlp_5fthermal_5fsw_5finit',['onlp_thermal_sw_init',['../group__oid-thermal.html#ga97473e8ba59a3be5dd5c164275b4eac3',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fdesc',['onlp_thermal_threshold_desc',['../group__oid-thermal.html#ga79c0ed2c626b4e3bc402779d723d8c5c',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fdesc_5fmap',['onlp_thermal_threshold_desc_map',['../group__oid-thermal.html#gad960f17d2e3e212198aa8fadbfb59d14',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fe',['onlp_thermal_threshold_e',['../group__oid-thermal.html#ga680f70a8d460d486338e8e444f0a68f9',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5finit_5fdefaults',['ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS',['../group__oid-thermal.html#ga4279b425da6f0edb04aff58faa5a70df',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fmap',['onlp_thermal_threshold_map',['../group__oid-thermal.html#ga6de44a610c9ac2709df9fcb533aad686',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fname',['onlp_thermal_threshold_name',['../group__oid-thermal.html#ga8c6862b5ba87d0888485742b36070ffc',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5ft',['onlp_thermal_threshold_t',['../group__oid-thermal.html#gae0e09173e43b1c395bb736bfb921189e',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fvalid',['ONLP_THERMAL_THRESHOLD_VALID',['../group__oid-thermal.html#ga6b61390719a2494ccce576c8dc752f4b',1,'ONLP_THERMAL_THRESHOLD_VALID(): thermal.h'],['../group__oid-thermal.html#ga7cc9cab4f8fa591261ba5f57148f0a98',1,'onlp_thermal_threshold_valid(onlp_thermal_threshold_t e): thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fvalue',['onlp_thermal_threshold_value',['../group__oid-thermal.html#ga669136096981abfb4bdf7aa0a489b28c',1,'thermal.h']]], + ['onlp_5fthermali_5fhdr_5fget',['onlp_thermali_hdr_get',['../group__thermali.html#ga2f66502008cbd30edeedb075d10abc4b',1,'thermali.h']]], + ['onlp_5fthermali_5fhw_5finit',['onlp_thermali_hw_init',['../group__thermali.html#ga2d9449f582f13c5b5845ce966e0aeca6',1,'thermali.h']]], + ['onlp_5fthermali_5finfo_5fget',['onlp_thermali_info_get',['../group__thermali.html#gaec311760f5ff6e68ef3a41d059c66ede',1,'thermali.h']]], + ['onlp_5fthermali_5fsw_5fdenit',['onlp_thermali_sw_denit',['../group__thermali.html#ga3f45029467c7bb2093d43abb95e84b4b',1,'thermali.h']]], + ['onlp_5fthermali_5fsw_5finit',['onlp_thermali_sw_init',['../group__thermali.html#ga3e6c3d1d4bc9ebe98d16a772c5806120',1,'thermali.h']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_c.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_c.html new file mode 100644 index 00000000..02310815 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_c.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_c.js new file mode 100644 index 00000000..8bf40dcf --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_c.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['psus',['PSUs',['../group__oid-psu.html',1,'']]], + ['platform_20implementation_20interfaces',['Platform Implementation Interfaces',['../group__onlp-platform.html',1,'']]], + ['porting_20macros',['Porting Macros',['../group__onlp-porting.html',1,'']]], + ['part_5fnumber',['part_number',['../structonlp__asset__info__s.html#ab23de79090e7300dfa1ea0564753bfa3',1,'onlp_asset_info_s']]], + ['percentage',['percentage',['../structonlp__fan__info__s.html#ae70e4ebc2e465899ea385644d4612d4d',1,'onlp_fan_info_s']]], + ['poid',['poid',['../structonlp__oid__hdr__s.html#af428fdd4d8d0d6332b8f196448984061',1,'onlp_oid_hdr_s']]], + ['psu_2eh',['psu.h',['../psu_8h.html',1,'']]], + ['psus',['PSUs',['../group__psui.html',1,'']]], + ['psui_2eh',['psui.h',['../psui_8h.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_d.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_d.html new file mode 100644 index 00000000..97c55da2 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_d.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_d.js new file mode 100644 index 00000000..095a48c5 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['rpm',['rpm',['../structonlp__fan__info__s.html#acc92e105db37a3d0df7c834bfa739d28',1,'onlp_fan_info_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_e.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_e.html new file mode 100644 index 00000000..3afc519b --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_e.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_e.js new file mode 100644 index 00000000..059e53e5 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_e.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['sfps',['SFPs',['../group__oid-sfp.html',1,'']]], + ['serial',['serial',['../structonlp__fan__info__s.html#ad89c58b7f96020916c35797446d60984',1,'onlp_fan_info_s::serial()'],['../structonlp__psu__info__t.html#a77b47bcf3c2205d14850c44a14d0dcf1',1,'onlp_psu_info_t::serial()']]], + ['serial_5fnumber',['serial_number',['../structonlp__asset__info__s.html#ae14e986b2d61b2c034cec866d6a365bd',1,'onlp_asset_info_s']]], + ['sff',['sff',['../structonlp__sfp__info__t.html#a59d9b00fccb625554fb38002dceaf826',1,'onlp_sfp_info_t']]], + ['sfp_2eh',['sfp.h',['../sfp_8h.html',1,'']]], + ['sfps',['SFPs',['../group__sfpi.html',1,'']]], + ['sfpi_2eh',['sfpi.h',['../sfpi_8h.html',1,'']]], + ['shutdown',['shutdown',['../structonlp__thermal__info__s.html#ac62a266c2f6aab142789a421581f416b',1,'onlp_thermal_info_s']]], + ['status',['status',['../structonlp__oid__hdr__s.html#af205439944b6fbfbb0f7aea60707d6c6',1,'onlp_oid_hdr_s']]], + ['stdattrs',['Stdattrs',['../group__stdattrs.html',1,'']]], + ['stdattrs_2eh',['stdattrs.h',['../stdattrs_8h.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_f.html b/packages/base/any/onlp/src/onlp/doc/html/search/all_f.html new file mode 100644 index 00000000..0e2f45e4 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/all_f.js b/packages/base/any/onlp/src/onlp/doc/html/search/all_f.js new file mode 100644 index 00000000..94f72e5a --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/all_f.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['this_20is_20the_20main_20page_2e',['This is the main page.',['../index.html',1,'']]], + ['thermals',['Thermals',['../group__oid-thermal.html',1,'']]], + ['thermal_2eh',['thermal.h',['../thermal_8h.html',1,'']]], + ['thermals',['Thermals',['../group__thermali.html',1,'']]], + ['thermali_2eh',['thermali.h',['../thermali_8h.html',1,'']]], + ['thresholds',['thresholds',['../structonlp__thermal__info__s.html#a27cf1ef766f2b8c400df5f003809bca4',1,'onlp_thermal_info_s']]], + ['type',['type',['../structonlp__psu__info__t.html#a15b4df62bdd73343b54573d21bdcfbb7',1,'onlp_psu_info_t::type()'],['../structonlp__sfp__info__t.html#a96a4b86f10e7f6621680896cf6ef8857',1,'onlp_sfp_info_t::type()']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/classes_0.html b/packages/base/any/onlp/src/onlp/doc/html/search/classes_0.html new file mode 100644 index 00000000..a7b6a289 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/classes_0.js b/packages/base/any/onlp/src/onlp/doc/html/search/classes_0.js new file mode 100644 index 00000000..627c52b2 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/classes_0.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['onlp_5fasset_5finfo_5fs',['onlp_asset_info_s',['../structonlp__asset__info__s.html',1,'']]], + ['onlp_5fchassis_5finfo_5fs',['onlp_chassis_info_s',['../structonlp__chassis__info__s.html',1,'']]], + ['onlp_5fconfig_5fsettings_5fs',['onlp_config_settings_s',['../structonlp__config__settings__s.html',1,'']]], + ['onlp_5ffan_5finfo_5fs',['onlp_fan_info_s',['../structonlp__fan__info__s.html',1,'']]], + ['onlp_5fgeneric_5finfo_5fs',['onlp_generic_info_s',['../structonlp__generic__info__s.html',1,'']]], + ['onlp_5fled_5finfo_5fs',['onlp_led_info_s',['../structonlp__led__info__s.html',1,'']]], + ['onlp_5fmodule_5finfo_5fs',['onlp_module_info_s',['../structonlp__module__info__s.html',1,'']]], + ['onlp_5foid_5fhdr_5fs',['onlp_oid_hdr_s',['../structonlp__oid__hdr__s.html',1,'']]], + ['onlp_5fpsu_5finfo_5ft',['onlp_psu_info_t',['../structonlp__psu__info__t.html',1,'']]], + ['onlp_5fsfp_5finfo_5ft',['onlp_sfp_info_t',['../structonlp__sfp__info__t.html',1,'']]], + ['onlp_5fthermal_5finfo_5fs',['onlp_thermal_info_s',['../structonlp__thermal__info__s.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/close.png b/packages/base/any/onlp/src/onlp/doc/html/search/close.png new file mode 100644 index 00000000..9342d3df Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/search/close.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/enums_0.html b/packages/base/any/onlp/src/onlp/doc/html/search/enums_0.html new file mode 100644 index 00000000..3242db78 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/enums_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/enums_0.js b/packages/base/any/onlp/src/onlp/doc/html/search/enums_0.js new file mode 100644 index 00000000..1ca5989d --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/enums_0.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['onlp_5ffan_5fcaps_5fe',['onlp_fan_caps_e',['../group__oid-fan.html#gaa35303e454d5c1ca0f671b449fd90e9b',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fe',['onlp_fan_dir_e',['../group__oid-fan.html#gaa08d0df284450a8715a175b410a78cc8',1,'fan.h']]], + ['onlp_5fpsu_5fcaps_5fe',['onlp_psu_caps_e',['../group__oid-psu.html#ga7e0491598e576f7c49c0e3ff06bf4db2',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5fe',['onlp_psu_type_e',['../group__oid-psu.html#gaa7d21badd0020759ca370dac9e747be1',1,'psu.h']]], + ['onlp_5fsfp_5fcontrol_5fe',['onlp_sfp_control_e',['../group__oid-sfp.html#gaf29fbfca2b1c31a5162826477fa33ff8',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fe',['onlp_sfp_control_flag_e',['../group__oid-sfp.html#gaa5f47c8376157121243d9731781ca73b',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fe',['onlp_sfp_type_e',['../group__oid-sfp.html#gaa463bca5ebf76e73e7c7c81ed239888a',1,'sfp.h']]], + ['onlp_5fthermal_5fcaps_5fe',['onlp_thermal_caps_e',['../group__oid-thermal.html#gad0fff3493dbbf447fa8f9250f6fdea28',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fe',['onlp_thermal_threshold_e',['../group__oid-thermal.html#ga680f70a8d460d486338e8e444f0a68f9',1,'thermal.h']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_0.html b/packages/base/any/onlp/src/onlp/doc/html/search/files_0.html new file mode 100644 index 00000000..73e9ff2c --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_0.js b/packages/base/any/onlp/src/onlp/doc/html/search/files_0.js new file mode 100644 index 00000000..509af354 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['attribute_2eh',['attribute.h',['../attribute_8h.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_1.html b/packages/base/any/onlp/src/onlp/doc/html/search/files_1.html new file mode 100644 index 00000000..f0007c83 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_1.js b/packages/base/any/onlp/src/onlp/doc/html/search/files_1.js new file mode 100644 index 00000000..d2cafaee --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['chassis_2eh',['chassis.h',['../chassis_8h.html',1,'']]], + ['chassisi_2eh',['chassisi.h',['../chassisi_8h.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_2.html b/packages/base/any/onlp/src/onlp/doc/html/search/files_2.html new file mode 100644 index 00000000..5fd03fd6 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_2.js b/packages/base/any/onlp/src/onlp/doc/html/search/files_2.js new file mode 100644 index 00000000..15b2cdb0 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['fan_2eh',['fan.h',['../fan_8h.html',1,'']]], + ['fani_2eh',['fani.h',['../fani_8h.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_3.html b/packages/base/any/onlp/src/onlp/doc/html/search/files_3.html new file mode 100644 index 00000000..93ae8150 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_3.js b/packages/base/any/onlp/src/onlp/doc/html/search/files_3.js new file mode 100644 index 00000000..ae93da53 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['generic_2eh',['generic.h',['../generic_8h.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_4.html b/packages/base/any/onlp/src/onlp/doc/html/search/files_4.html new file mode 100644 index 00000000..c2708faf --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_4.js b/packages/base/any/onlp/src/onlp/doc/html/search/files_4.js new file mode 100644 index 00000000..bd085562 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['module_2eh',['module.h',['../module_8h.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_5.html b/packages/base/any/onlp/src/onlp/doc/html/search/files_5.html new file mode 100644 index 00000000..3624fe4f --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_5.js b/packages/base/any/onlp/src/onlp/doc/html/search/files_5.js new file mode 100644 index 00000000..4ac64c53 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['onlp_5fconfig_2eh',['onlp_config.h',['../onlp__config_8h.html',1,'']]], + ['onlp_5fporting_2eh',['onlp_porting.h',['../onlp__porting_8h.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_6.html b/packages/base/any/onlp/src/onlp/doc/html/search/files_6.html new file mode 100644 index 00000000..7cda226e --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_6.js b/packages/base/any/onlp/src/onlp/doc/html/search/files_6.js new file mode 100644 index 00000000..34df64ef --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['psu_2eh',['psu.h',['../psu_8h.html',1,'']]], + ['psui_2eh',['psui.h',['../psui_8h.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_7.html b/packages/base/any/onlp/src/onlp/doc/html/search/files_7.html new file mode 100644 index 00000000..5e90c360 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_7.js b/packages/base/any/onlp/src/onlp/doc/html/search/files_7.js new file mode 100644 index 00000000..9d36a115 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_7.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['sfp_2eh',['sfp.h',['../sfp_8h.html',1,'']]], + ['sfpi_2eh',['sfpi.h',['../sfpi_8h.html',1,'']]], + ['stdattrs_2eh',['stdattrs.h',['../stdattrs_8h.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_8.html b/packages/base/any/onlp/src/onlp/doc/html/search/files_8.html new file mode 100644 index 00000000..5f21776f --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/files_8.js b/packages/base/any/onlp/src/onlp/doc/html/search/files_8.js new file mode 100644 index 00000000..377e6d1f --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/files_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['thermal_2eh',['thermal.h',['../thermal_8h.html',1,'']]], + ['thermali_2eh',['thermali.h',['../thermali_8h.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/functions_0.html b/packages/base/any/onlp/src/onlp/doc/html/search/functions_0.html new file mode 100644 index 00000000..36aa6a65 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/functions_0.js b/packages/base/any/onlp/src/onlp/doc/html/search/functions_0.js new file mode 100644 index 00000000..bc986fe0 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/functions_0.js @@ -0,0 +1,183 @@ +var searchData= +[ + ['onlp_5fasset_5finfo_5ffree',['onlp_asset_info_free',['../group__stdattrs.html#ga656d49b8fdc5ca8b07fe30a965ca77af',1,'stdattrs.h']]], + ['onlp_5fasset_5finfo_5fshow',['onlp_asset_info_show',['../group__stdattrs.html#ga6b5eb9c43f30f4ee5727901de34b9c9a',1,'stdattrs.h']]], + ['onlp_5fasset_5finfo_5fto_5fjson',['onlp_asset_info_to_json',['../group__stdattrs.html#ga41dc8663795d44a4bab9dea8644c5f4e',1,'stdattrs.h']]], + ['onlp_5fattribute_5fasset_5finfo_5ffree',['onlp_attribute_asset_info_free',['../group__attributes.html#gad59c08ea5d021d7574ac456aef0257d2',1,'attribute.h']]], + ['onlp_5fattribute_5fasset_5finfo_5fget',['onlp_attribute_asset_info_get',['../group__attributes.html#ga220b05636881b1bf6356e479f41a8dd6',1,'attribute.h']]], + ['onlp_5fattribute_5fasset_5finfo_5fget_5fjson',['onlp_attribute_asset_info_get_json',['../group__attributes.html#gad8f5e44c2e41db2a3dbd603c48916f6a',1,'attribute.h']]], + ['onlp_5fattribute_5fasset_5finfo_5fshow',['onlp_attribute_asset_info_show',['../group__attributes.html#ga66dec15c39062af8729f90c9e48bc6e3',1,'attribute.h']]], + ['onlp_5fattribute_5fasset_5finfo_5fshow_5fjson',['onlp_attribute_asset_info_show_json',['../group__attributes.html#gafb1210d62af0f1545a50dc667fd43964',1,'attribute.h']]], + ['onlp_5fattribute_5ffree',['onlp_attribute_free',['../group__attributes.html#ga0096e63734fc0c14e9caea7f2c5baa86',1,'attribute.h']]], + ['onlp_5fattribute_5fget',['onlp_attribute_get',['../group__attributes.html#ga3b501b47a82d4318771fc11282c79677',1,'attribute.h']]], + ['onlp_5fattribute_5fhw_5finit',['onlp_attribute_hw_init',['../group__attributes.html#gab4cb0ddd5c97b1fc3ac4de90186b8546',1,'attribute.h']]], + ['onlp_5fattribute_5fonie_5finfo_5ffree',['onlp_attribute_onie_info_free',['../group__attributes.html#ga5e7c1eed8ad3a8f4341abb5fdad7ccc4',1,'attribute.h']]], + ['onlp_5fattribute_5fonie_5finfo_5fget',['onlp_attribute_onie_info_get',['../group__attributes.html#ga556403a97854c91d82593a263cbd3064',1,'attribute.h']]], + ['onlp_5fattribute_5fonie_5finfo_5fget_5fjson',['onlp_attribute_onie_info_get_json',['../group__attributes.html#ga8ef6a9b7893f6c014303ba9095988697',1,'attribute.h']]], + ['onlp_5fattribute_5fonie_5finfo_5fshow',['onlp_attribute_onie_info_show',['../group__attributes.html#gaf4a1d1b6b73629f251177e7693525325',1,'attribute.h']]], + ['onlp_5fattribute_5fonie_5finfo_5fshow_5fjson',['onlp_attribute_onie_info_show_json',['../group__attributes.html#ga2d33e5eed58c2f38dc91409bc5ec28c4',1,'attribute.h']]], + ['onlp_5fattribute_5fset',['onlp_attribute_set',['../group__attributes.html#ga0e904eeda5dae7ae470d0ff9f93a4b99',1,'attribute.h']]], + ['onlp_5fattribute_5fsupported',['onlp_attribute_supported',['../group__attributes.html#ga49731406c54119e74b511274b3f5100c',1,'attribute.h']]], + ['onlp_5fattribute_5fsw_5finit',['onlp_attribute_sw_init',['../group__attributes.html#gae555c656a095566aee6c0826b933193c',1,'attribute.h']]], + ['onlp_5fchassis_5fdebug_5fget_5fjson',['onlp_chassis_debug_get_json',['../group__oid-chassis.html#gae34313148ba9282bb4b07f8ecf643850',1,'chassis.h']]], + ['onlp_5fchassis_5fdebug_5fshow',['onlp_chassis_debug_show',['../group__oid-chassis.html#ga42ade9b99df7d9d6c3b0636722afa4db',1,'chassis.h']]], + ['onlp_5fchassis_5fenvironment_5fshow',['onlp_chassis_environment_show',['../group__oid-chassis.html#ga339fe374150c13c8daa056333d7725cc',1,'chassis.h']]], + ['onlp_5fchassis_5fenvironment_5fto_5fjson',['onlp_chassis_environment_to_json',['../group__oid-chassis.html#gaf6abace48cde657a359089dcbfbcaf42',1,'chassis.h']]], + ['onlp_5fchassis_5fhdr_5fget',['onlp_chassis_hdr_get',['../group__oid-chassis.html#ga767279094e83014582d1de47a4938e45',1,'chassis.h']]], + ['onlp_5fchassis_5fhw_5finit',['onlp_chassis_hw_init',['../group__oid-chassis.html#gae6d4c46597c06db0b16d1215a5f1c344',1,'chassis.h']]], + ['onlp_5fchassis_5finfo_5ffrom_5fjson',['onlp_chassis_info_from_json',['../group__oid-chassis.html#ga3220fbbfb3b1a3e0096b80b514ab68b0',1,'chassis.h']]], + ['onlp_5fchassis_5finfo_5fget',['onlp_chassis_info_get',['../group__oid-chassis.html#ga52aa540cdaf5ca53caf6deaf9f9a1443',1,'chassis.h']]], + ['onlp_5fchassis_5finfo_5fto_5fjson',['onlp_chassis_info_to_json',['../group__oid-chassis.html#ga106d4baebe8dbec41766cd2358ac3145',1,'chassis.h']]], + ['onlp_5fchassis_5finfo_5fto_5fuser_5fjson',['onlp_chassis_info_to_user_json',['../group__oid-chassis.html#gafc4d443dd97fd926547d69336249a7a6',1,'chassis.h']]], + ['onlp_5fchassis_5fsw_5fdenit',['onlp_chassis_sw_denit',['../group__oid-chassis.html#ga8ac7640a8bde84f78803c412d20f74f1',1,'chassis.h']]], + ['onlp_5fchassis_5fsw_5finit',['onlp_chassis_sw_init',['../group__oid-chassis.html#ga4b5e90ffb94e4801136e233ca89e27d5',1,'chassis.h']]], + ['onlp_5fchassisi_5fhdr_5fget',['onlp_chassisi_hdr_get',['../group__chassisi.html#gaa517f9bbed46130a503ffadbfb2d545a',1,'chassisi.h']]], + ['onlp_5fchassisi_5fhw_5finit',['onlp_chassisi_hw_init',['../group__chassisi.html#ga2218d0961a59fedbe3918598b97c3642',1,'chassisi.h']]], + ['onlp_5fchassisi_5finfo_5fget',['onlp_chassisi_info_get',['../group__chassisi.html#gac87883c25ca71efeb0ac6e96951bd3f1',1,'chassisi.h']]], + ['onlp_5fchassisi_5fsw_5fdenit',['onlp_chassisi_sw_denit',['../group__chassisi.html#gac89387874689e2106d41c2513bf23ae2',1,'chassisi.h']]], + ['onlp_5fchassisi_5fsw_5finit',['onlp_chassisi_sw_init',['../group__chassisi.html#ga19f7edff7cdadf5f4744e1be0e39213f',1,'chassisi.h']]], + ['onlp_5fconfig_5flookup',['onlp_config_lookup',['../group__onlp-config.html#ga91b2fd9cbf7ef094f3ed58e383a62c1d',1,'onlp_config.h']]], + ['onlp_5fconfig_5fshow',['onlp_config_show',['../group__onlp-config.html#ga9faf27984de75c1bfc093ad68e9167d9',1,'onlp_config.h']]], + ['onlp_5ffan_5fcaps_5fdesc',['onlp_fan_caps_desc',['../group__oid-fan.html#gab15da3fde6256a249a718130bcd625b2',1,'fan.h']]], + ['onlp_5ffan_5fcaps_5fname',['onlp_fan_caps_name',['../group__oid-fan.html#ga921eeb1b9362119c7de5138774f17e91',1,'fan.h']]], + ['onlp_5ffan_5fcaps_5fvalid',['onlp_fan_caps_valid',['../group__oid-fan.html#ga7e2461a963a91dd52a481f4fc84b0118',1,'fan.h']]], + ['onlp_5ffan_5fcaps_5fvalue',['onlp_fan_caps_value',['../group__oid-fan.html#ga6d1a2ad784d73bf9ab0c059b7827d2dd',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fdesc',['onlp_fan_dir_desc',['../group__oid-fan.html#ga510fae515858e49a4dccf5a9d50ac1d1',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fname',['onlp_fan_dir_name',['../group__oid-fan.html#ga7d8f1f3db2a0f7486f188e2ca2442165',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fset',['onlp_fan_dir_set',['../group__oid-fan.html#gac1409d618b163077a4b2aea154b88db2',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fvalue',['onlp_fan_dir_value',['../group__oid-fan.html#ga30e1ad218af51ebc771f7d2c17530b4e',1,'fan.h']]], + ['onlp_5ffan_5fhdr_5fget',['onlp_fan_hdr_get',['../group__oid-fan.html#ga0cff703e958970c3e716e6ac28098f66',1,'fan.h']]], + ['onlp_5ffan_5fhw_5finit',['onlp_fan_hw_init',['../group__oid-fan.html#gadbaed334e7be33a4801adcf1b45c2d0c',1,'fan.h']]], + ['onlp_5ffan_5finfo_5ffrom_5fjson',['onlp_fan_info_from_json',['../group__oid-fan.html#gab4e2b7a1f60efa4dc7e4fc481de35271',1,'fan.h']]], + ['onlp_5ffan_5finfo_5fget',['onlp_fan_info_get',['../group__oid-fan.html#ga34da9a1a3774e74b53ff450c17f34ad2',1,'fan.h']]], + ['onlp_5ffan_5finfo_5fto_5fjson',['onlp_fan_info_to_json',['../group__oid-fan.html#ga3119d07b3fc57e08e7c6d12eb6f785ad',1,'fan.h']]], + ['onlp_5ffan_5finfo_5fto_5fuser_5fjson',['onlp_fan_info_to_user_json',['../group__oid-fan.html#ga7bf17f792c118a18e2fdd5bffbcf51b4',1,'fan.h']]], + ['onlp_5ffan_5fpercentage_5fset',['onlp_fan_percentage_set',['../group__oid-fan.html#ga4202cfe1cddb551e583bb36856468902',1,'fan.h']]], + ['onlp_5ffan_5frpm_5fset',['onlp_fan_rpm_set',['../group__oid-fan.html#ga8aadc96f3b61b9264fdb691477ea6c7e',1,'fan.h']]], + ['onlp_5ffan_5fsw_5fdenit',['onlp_fan_sw_denit',['../group__oid-fan.html#gadd7ca7fdc99b5d97acea388928d52ae0',1,'fan.h']]], + ['onlp_5ffan_5fsw_5finit',['onlp_fan_sw_init',['../group__oid-fan.html#gaef948ec38bffbb162650cbbad766cf6d',1,'fan.h']]], + ['onlp_5ffani_5fdir_5fset',['onlp_fani_dir_set',['../group__fani.html#gae7d7be9181bec187f8d6b84bb093c6fd',1,'fani.h']]], + ['onlp_5ffani_5fhdr_5fget',['onlp_fani_hdr_get',['../group__fani.html#gaadf65a5e35759bf0178e2a58067e8ac4',1,'fani.h']]], + ['onlp_5ffani_5fhw_5finit',['onlp_fani_hw_init',['../group__fani.html#ga97678f1bb8c068bbc43f9fb3c921579f',1,'fani.h']]], + ['onlp_5ffani_5finfo_5fget',['onlp_fani_info_get',['../group__fani.html#gac5cdbba1d0aba261d5b23d1680972b7c',1,'fani.h']]], + ['onlp_5ffani_5fpercentage_5fset',['onlp_fani_percentage_set',['../group__fani.html#ga587beb237351298776775cf6261193de',1,'fani.h']]], + ['onlp_5ffani_5frpm_5fset',['onlp_fani_rpm_set',['../group__fani.html#ga200ea1d0ae5d67e60240a605498e5a6e',1,'fani.h']]], + ['onlp_5ffani_5fsw_5fdenit',['onlp_fani_sw_denit',['../group__fani.html#gaa6ba5661d59715e21f107f1286a69c95',1,'fani.h']]], + ['onlp_5ffani_5fsw_5finit',['onlp_fani_sw_init',['../group__fani.html#ga1feeaf21197e6fca528db5bb9a6a28f6',1,'fani.h']]], + ['onlp_5fgeneric_5fhdr_5fget',['onlp_generic_hdr_get',['../group__oid-generic.html#gae6be5cc3102ef407b2107dd73e1c3d82',1,'generic.h']]], + ['onlp_5fgeneric_5fhw_5finit',['onlp_generic_hw_init',['../group__oid-generic.html#gaf08e41b2394efc5c6c5ac5f404f7271e',1,'generic.h']]], + ['onlp_5fgeneric_5finfo_5ffrom_5fjson',['onlp_generic_info_from_json',['../group__oid-generic.html#ga38ec8e74265983fb67e744d3d19b55f8',1,'generic.h']]], + ['onlp_5fgeneric_5finfo_5fget',['onlp_generic_info_get',['../group__oid-generic.html#gae24e262357a44ba5d5c10c2bb9aacaf9',1,'generic.h']]], + ['onlp_5fgeneric_5finfo_5fto_5fjson',['onlp_generic_info_to_json',['../group__oid-generic.html#gabf81dc59c0dc71f5fce380af0893ccdd',1,'generic.h']]], + ['onlp_5fgeneric_5finfo_5fto_5fuser_5fjson',['onlp_generic_info_to_user_json',['../group__oid-generic.html#ga52f776c183f45d6231c403736ed1baff',1,'generic.h']]], + ['onlp_5fgeneric_5fsw_5fdenit',['onlp_generic_sw_denit',['../group__oid-generic.html#ga2281d926ce9b0cce1dc98d8a37d70b4b',1,'generic.h']]], + ['onlp_5fgeneric_5fsw_5finit',['onlp_generic_sw_init',['../group__oid-generic.html#ga3841de07d924ade1c32716764b72dce3',1,'generic.h']]], + ['onlp_5fmodule_5fhdr_5fget',['onlp_module_hdr_get',['../group__oid-module.html#gac1703816dc97c5bc733eaefd64274405',1,'module.h']]], + ['onlp_5fmodule_5fhw_5finit',['onlp_module_hw_init',['../group__oid-module.html#ga4eb92a50197927c4073ad9834f63313f',1,'module.h']]], + ['onlp_5fmodule_5finfo_5ffrom_5fjson',['onlp_module_info_from_json',['../group__oid-module.html#gae20051e9ae1b103aefadb85a32331aa2',1,'module.h']]], + ['onlp_5fmodule_5finfo_5fget',['onlp_module_info_get',['../group__oid-module.html#gadca3359f4cf0aa19c79e5b64f8f32eba',1,'module.h']]], + ['onlp_5fmodule_5finfo_5fto_5fjson',['onlp_module_info_to_json',['../group__oid-module.html#ga17d1a205aa97e17304f55f44b29a458d',1,'module.h']]], + ['onlp_5fmodule_5finfo_5fto_5fuser_5fjson',['onlp_module_info_to_user_json',['../group__oid-module.html#gaa6c560b25a4d38d5ad373e266c671f54',1,'module.h']]], + ['onlp_5fmodule_5fsw_5fdenit',['onlp_module_sw_denit',['../group__oid-module.html#gafcf71feb9c8da89f6c5d1d474aa08c86',1,'module.h']]], + ['onlp_5fmodule_5fsw_5finit',['onlp_module_sw_init',['../group__oid-module.html#gaf0fffd240af6133de708bd5826d6b53b',1,'module.h']]], + ['onlp_5fpsu_5fcaps_5fdesc',['onlp_psu_caps_desc',['../group__oid-psu.html#ga38280bb55905958c3966059af244e707',1,'psu.h']]], + ['onlp_5fpsu_5fcaps_5fname',['onlp_psu_caps_name',['../group__oid-psu.html#ga672c5a2f5b63a48b1e8bf6a8dc4a9391',1,'psu.h']]], + ['onlp_5fpsu_5fcaps_5fvalid',['onlp_psu_caps_valid',['../group__oid-psu.html#ga9fc8b05cd2e00ce40ab79f36915e8a83',1,'psu.h']]], + ['onlp_5fpsu_5fcaps_5fvalue',['onlp_psu_caps_value',['../group__oid-psu.html#ga75b459b893e21dc6e24b44461312a01c',1,'psu.h']]], + ['onlp_5fpsu_5fhdr_5fget',['onlp_psu_hdr_get',['../group__oid-psu.html#ga92999b5dea1b92e35941bf9ac2acfa9d',1,'psu.h']]], + ['onlp_5fpsu_5fhw_5finit',['onlp_psu_hw_init',['../group__oid-psu.html#ga44cb63826a53ee5f13489a08a51ab885',1,'psu.h']]], + ['onlp_5fpsu_5finfo_5ffrom_5fjson',['onlp_psu_info_from_json',['../group__oid-psu.html#ga870991253d44f35ef9c6c395c3bc7451',1,'psu.h']]], + ['onlp_5fpsu_5finfo_5fget',['onlp_psu_info_get',['../group__oid-psu.html#ga8677e4a71d8a4438606110c2ef9fc60e',1,'psu.h']]], + ['onlp_5fpsu_5finfo_5fto_5fjson',['onlp_psu_info_to_json',['../group__oid-psu.html#ga2dbe37ac3924e60dafe6135157b37bb6',1,'psu.h']]], + ['onlp_5fpsu_5finfo_5fto_5fuser_5fjson',['onlp_psu_info_to_user_json',['../group__oid-psu.html#gac3450d83ebaedba241c43000ce860d97',1,'psu.h']]], + ['onlp_5fpsu_5fsw_5fdenit',['onlp_psu_sw_denit',['../group__oid-psu.html#ga129a21fa7eb314964c2db4fd8d660572',1,'psu.h']]], + ['onlp_5fpsu_5fsw_5finit',['onlp_psu_sw_init',['../group__oid-psu.html#ga0a66e62f758e2ed534af11040838a26d',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5fdesc',['onlp_psu_type_desc',['../group__oid-psu.html#ga94105699304ae853a5bc0b459c3c81ee',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5fname',['onlp_psu_type_name',['../group__oid-psu.html#ga8a25191dc43d3b40dbd302fa86d342e6',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5fvalue',['onlp_psu_type_value',['../group__oid-psu.html#ga10194c8cc758924547524561fd15cd6e',1,'psu.h']]], + ['onlp_5fpsui_5fhdr_5fget',['onlp_psui_hdr_get',['../group__psui.html#gabfc93ced2b1436db99357b22c9c1ef61',1,'psui.h']]], + ['onlp_5fpsui_5fhw_5finit',['onlp_psui_hw_init',['../group__psui.html#ga48757edc28f58f1602c4cc7ca2e9ef9c',1,'psui.h']]], + ['onlp_5fpsui_5finfo_5fget',['onlp_psui_info_get',['../group__psui.html#gaf5fbee43118662c54cb80de997c68361',1,'psui.h']]], + ['onlp_5fpsui_5fsw_5fdenit',['onlp_psui_sw_denit',['../group__psui.html#ga69f99c6a90fbb5d1c03349b47970fa98',1,'psui.h']]], + ['onlp_5fpsui_5fsw_5finit',['onlp_psui_sw_init',['../group__psui.html#gaf67bedb47907fd5c8548784b92813c79',1,'psui.h']]], + ['onlp_5fsfp_5fbitmap_5fget',['onlp_sfp_bitmap_get',['../group__oid-sfp.html#gaca3a3044b4a36a589235c295f3d58e95',1,'sfp.h']]], + ['onlp_5fsfp_5fbitmap_5ft_5finit',['onlp_sfp_bitmap_t_init',['../group__oid-sfp.html#ga024558cadac46574b0f2f7825be001df',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fdesc',['onlp_sfp_control_desc',['../group__oid-sfp.html#gaabe16aa090df2d957f37d9b12613c1dc',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fdesc',['onlp_sfp_control_flag_desc',['../group__oid-sfp.html#gad069e77e039310225a43f3d964017f11',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fname',['onlp_sfp_control_flag_name',['../group__oid-sfp.html#ga3ee038ae3c4ac44ea189a6a741e7d5d4',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fvalid',['onlp_sfp_control_flag_valid',['../group__oid-sfp.html#gaaceb5da539f4bf3b5f28d3d709070f50',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fvalue',['onlp_sfp_control_flag_value',['../group__oid-sfp.html#ga89e30eaca0210dfa9f05ba792688d336',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflags_5fget',['onlp_sfp_control_flags_get',['../group__oid-sfp.html#ga4e8927190aea45c34b3c127f9f34a9c7',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fget',['onlp_sfp_control_get',['../group__oid-sfp.html#ga81b48168ee3d731c9c4f2cae10f5bb28',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fname',['onlp_sfp_control_name',['../group__oid-sfp.html#ga3a3fe23c574a14ba56e66c5cc763107a',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fset',['onlp_sfp_control_set',['../group__oid-sfp.html#ga6be15ecd32cc3ec2138d46666eea5fb0',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fvalue',['onlp_sfp_control_value',['../group__oid-sfp.html#ga408da8b5556cbd29efa7f33f8ad3cfd9',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5falloc_5fread',['onlp_sfp_dev_alloc_read',['../group__oid-sfp.html#ga069871c0f80424334d41ab80f03b7551',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5fread',['onlp_sfp_dev_read',['../group__oid-sfp.html#gacfdf956cf5f13223ce97115a4e18e0dc',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5freadb',['onlp_sfp_dev_readb',['../group__oid-sfp.html#gaca7b6aabd314fdfeb0717d1ca99afd44',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5freadw',['onlp_sfp_dev_readw',['../group__oid-sfp.html#ga561786b780a4c4f783e0f1a1ba338852',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5fwrite',['onlp_sfp_dev_write',['../group__oid-sfp.html#ga1a04f50c220c519ecc50854da6ba1eab',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5fwriteb',['onlp_sfp_dev_writeb',['../group__oid-sfp.html#gae3f4351c92a17a7c027a3d5938e7bf9d',1,'sfp.h']]], + ['onlp_5fsfp_5fdev_5fwritew',['onlp_sfp_dev_writew',['../group__oid-sfp.html#gade0024db4bd8a506032b8c677c23248d',1,'sfp.h']]], + ['onlp_5fsfp_5fhdr_5fget',['onlp_sfp_hdr_get',['../group__oid-sfp.html#ga6bc9c7ba527fd6fc609cc5ca0adfc9e3',1,'sfp.h']]], + ['onlp_5fsfp_5fhw_5fdenit',['onlp_sfp_hw_denit',['../group__oid-sfp.html#ga4ae219c9c07fe099f310717f6e16e2ef',1,'sfp.h']]], + ['onlp_5fsfp_5fhw_5finit',['onlp_sfp_hw_init',['../group__oid-sfp.html#ga77f0c8673330ec9e19ea914f08e6951c',1,'sfp.h']]], + ['onlp_5fsfp_5finfo_5fdom_5fget',['onlp_sfp_info_dom_get',['../group__oid-sfp.html#gab9ce05cf5e2103a5629b818c6a0efbc5',1,'sfp.h']]], + ['onlp_5fsfp_5finfo_5ffrom_5fjson',['onlp_sfp_info_from_json',['../group__oid-sfp.html#ga403f27122b4a82edcaaf4b57903687b4',1,'sfp.h']]], + ['onlp_5fsfp_5finfo_5fget',['onlp_sfp_info_get',['../group__oid-sfp.html#gaf131bd4c51ea05527b2340182182b155',1,'sfp.h']]], + ['onlp_5fsfp_5finfo_5fto_5fjson',['onlp_sfp_info_to_json',['../group__oid-sfp.html#ga0f27cb1652c039deb59e033c9b87f0c5',1,'sfp.h']]], + ['onlp_5fsfp_5finfo_5fto_5fuser_5fjson',['onlp_sfp_info_to_user_json',['../group__oid-sfp.html#ga3019ca6a28f99008b887ac3a3be16777',1,'sfp.h']]], + ['onlp_5fsfp_5finventory_5fshow',['onlp_sfp_inventory_show',['../group__oid-sfp.html#ga9536c3ef57b06b36d5441807a7f0a58c',1,'sfp.h']]], + ['onlp_5fsfp_5fis_5fpresent',['onlp_sfp_is_present',['../group__oid-sfp.html#ga216326f78fcee21521e921523d22f959',1,'sfp.h']]], + ['onlp_5fsfp_5fport_5fvalid',['onlp_sfp_port_valid',['../group__oid-sfp.html#ga52c42d1ebd2b29fabcdb7e2fc281b189',1,'sfp.h']]], + ['onlp_5fsfp_5fpost_5finsert',['onlp_sfp_post_insert',['../group__oid-sfp.html#ga5be3ce5f818c3f58b7b64b8cc652d099',1,'sfp.h']]], + ['onlp_5fsfp_5fpresence_5fbitmap_5fget',['onlp_sfp_presence_bitmap_get',['../group__oid-sfp.html#gab5dda46dcad623d1da1e9c546672926a',1,'sfp.h']]], + ['onlp_5fsfp_5frx_5flos_5fbitmap_5fget',['onlp_sfp_rx_los_bitmap_get',['../group__oid-sfp.html#ga7b78bfb77966e2b17e66180bb0d603e7',1,'sfp.h']]], + ['onlp_5fsfp_5fsw_5fdenit',['onlp_sfp_sw_denit',['../group__oid-sfp.html#gaffeb9f8b8faf25811f24530e174af3a3',1,'sfp.h']]], + ['onlp_5fsfp_5fsw_5finit',['onlp_sfp_sw_init',['../group__oid-sfp.html#ga6ba826c2539b2b938351cd3b996722ae',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fdesc',['onlp_sfp_type_desc',['../group__oid-sfp.html#ga027f6cdde9356ca814eb3c39edcaa6f6',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fget',['onlp_sfp_type_get',['../group__oid-sfp.html#gaecbc815776987075b9afeb817f6d0e80',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fname',['onlp_sfp_type_name',['../group__oid-sfp.html#gaf3c4972599644ac007a0596dabbcadbb',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fvalue',['onlp_sfp_type_value',['../group__oid-sfp.html#gaa852c273cc83ca4dd42df27c73aa5e29',1,'sfp.h']]], + ['onlp_5fsfpi_5fbitmap_5fget',['onlp_sfpi_bitmap_get',['../group__sfpi.html#gafce60086ad5cf6c07107d2bf743dfccc',1,'sfpi.h']]], + ['onlp_5fsfpi_5fcontrol_5fget',['onlp_sfpi_control_get',['../group__sfpi.html#ga21f2a730b196d1edcdbb52cc87dbf6bb',1,'sfpi.h']]], + ['onlp_5fsfpi_5fcontrol_5fset',['onlp_sfpi_control_set',['../group__sfpi.html#ga20d6a9cd0f3244da3f911e5f99980e2c',1,'sfpi.h']]], + ['onlp_5fsfpi_5fcontrol_5fsupported',['onlp_sfpi_control_supported',['../group__sfpi.html#gab7b770a900ebf31f4b5a56162dac27e0',1,'sfpi.h']]], + ['onlp_5fsfpi_5fdev_5fread',['onlp_sfpi_dev_read',['../group__sfpi.html#gae0857175e90c4e90f3c53b154e9fc0c7',1,'sfpi.h']]], + ['onlp_5fsfpi_5fdev_5freadb',['onlp_sfpi_dev_readb',['../group__sfpi.html#ga73cb9e63f7489dbaed5d2bad995367db',1,'sfpi.h']]], + ['onlp_5fsfpi_5fdev_5freadw',['onlp_sfpi_dev_readw',['../group__sfpi.html#ga263d5f512b4836e80a7496215aacbd5f',1,'sfpi.h']]], + ['onlp_5fsfpi_5fdev_5fwrite',['onlp_sfpi_dev_write',['../group__sfpi.html#gae1441f10404f92dc23fac35057d81961',1,'sfpi.h']]], + ['onlp_5fsfpi_5fdev_5fwriteb',['onlp_sfpi_dev_writeb',['../group__sfpi.html#gafebe370835b919fb62d7cf3d8a964772',1,'sfpi.h']]], + ['onlp_5fsfpi_5fdev_5fwritew',['onlp_sfpi_dev_writew',['../group__sfpi.html#ga184a9ce9f428b91b4d0598353232070f',1,'sfpi.h']]], + ['onlp_5fsfpi_5fhdr_5fget',['onlp_sfpi_hdr_get',['../group__sfpi.html#gaff592c3b985f37e467c4a399f7f8f445',1,'sfpi.h']]], + ['onlp_5fsfpi_5fhw_5finit',['onlp_sfpi_hw_init',['../group__sfpi.html#ga62e4ec0395966f9da20a043f5c7db20c',1,'sfpi.h']]], + ['onlp_5fsfpi_5fis_5fpresent',['onlp_sfpi_is_present',['../group__sfpi.html#ga7e66c925d2d06b679526ec7d940d6365',1,'sfpi.h']]], + ['onlp_5fsfpi_5fport_5fmap',['onlp_sfpi_port_map',['../group__sfpi.html#gadc31d9d3a4c5a03ee59e0bf0ec7f88fe',1,'sfpi.h']]], + ['onlp_5fsfpi_5fpost_5finsert',['onlp_sfpi_post_insert',['../group__sfpi.html#ga2a8f4f0470096958f798b2682becb399',1,'sfpi.h']]], + ['onlp_5fsfpi_5fpresence_5fbitmap_5fget',['onlp_sfpi_presence_bitmap_get',['../group__sfpi.html#ga4819bda2ce5f3a9e7e9969c0d0ed6d64',1,'sfpi.h']]], + ['onlp_5fsfpi_5frx_5flos_5fbitmap_5fget',['onlp_sfpi_rx_los_bitmap_get',['../group__sfpi.html#ga55789bbc0c35d4b4f964e24c02104f3a',1,'sfpi.h']]], + ['onlp_5fsfpi_5fsw_5fdenit',['onlp_sfpi_sw_denit',['../group__sfpi.html#ga6ef11305b876987b1c856c52c1055d50',1,'sfpi.h']]], + ['onlp_5fsfpi_5fsw_5finit',['onlp_sfpi_sw_init',['../group__sfpi.html#ga3997d7908b11bcbb23147d603323c943',1,'sfpi.h']]], + ['onlp_5fsfpi_5ftype_5fget',['onlp_sfpi_type_get',['../group__sfpi.html#ga1fcab0135f9dd12111ec15a557add961',1,'sfpi.h']]], + ['onlp_5fthermal_5fcaps_5fdesc',['onlp_thermal_caps_desc',['../group__oid-thermal.html#ga2fee06677b8479ea51f5c249d65af439',1,'thermal.h']]], + ['onlp_5fthermal_5fcaps_5fname',['onlp_thermal_caps_name',['../group__oid-thermal.html#ga56a1472bd1d4c0099477c431a11260de',1,'thermal.h']]], + ['onlp_5fthermal_5fcaps_5fvalid',['onlp_thermal_caps_valid',['../group__oid-thermal.html#ga36e088dc11441a779af6d0cdf46c1b5b',1,'thermal.h']]], + ['onlp_5fthermal_5fcaps_5fvalue',['onlp_thermal_caps_value',['../group__oid-thermal.html#ga5559556646dd43a80250b74edea5071e',1,'thermal.h']]], + ['onlp_5fthermal_5fhdr_5fget',['onlp_thermal_hdr_get',['../group__oid-thermal.html#gaab0f9b7b4beee33b04621cb2c908b09b',1,'thermal.h']]], + ['onlp_5fthermal_5fhw_5finit',['onlp_thermal_hw_init',['../group__oid-thermal.html#ga732d586e1e5263e355caa17cad37a9c4',1,'thermal.h']]], + ['onlp_5fthermal_5finfo_5ffrom_5fjson',['onlp_thermal_info_from_json',['../group__oid-thermal.html#ga46219356cfb26892b8efa4e6b0c0d88b',1,'thermal.h']]], + ['onlp_5fthermal_5finfo_5fget',['onlp_thermal_info_get',['../group__oid-thermal.html#ga4ae826e9345713b891c7f37fdaf14d1a',1,'thermal.h']]], + ['onlp_5fthermal_5finfo_5fto_5fjson',['onlp_thermal_info_to_json',['../group__oid-thermal.html#ga39e4d7f466d8bb5a20d9930467ab9bba',1,'thermal.h']]], + ['onlp_5fthermal_5finfo_5fto_5fuser_5fjson',['onlp_thermal_info_to_user_json',['../group__oid-thermal.html#ga32b1654466ed31300f190cf21fd04fbc',1,'thermal.h']]], + ['onlp_5fthermal_5fsw_5fdenit',['onlp_thermal_sw_denit',['../group__oid-thermal.html#ga021b8766d4c07b1e465b5d7ed544d8ff',1,'thermal.h']]], + ['onlp_5fthermal_5fsw_5finit',['onlp_thermal_sw_init',['../group__oid-thermal.html#ga97473e8ba59a3be5dd5c164275b4eac3',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fdesc',['onlp_thermal_threshold_desc',['../group__oid-thermal.html#ga79c0ed2c626b4e3bc402779d723d8c5c',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fname',['onlp_thermal_threshold_name',['../group__oid-thermal.html#ga8c6862b5ba87d0888485742b36070ffc',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fvalid',['onlp_thermal_threshold_valid',['../group__oid-thermal.html#ga7cc9cab4f8fa591261ba5f57148f0a98',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fvalue',['onlp_thermal_threshold_value',['../group__oid-thermal.html#ga669136096981abfb4bdf7aa0a489b28c',1,'thermal.h']]], + ['onlp_5fthermali_5fhdr_5fget',['onlp_thermali_hdr_get',['../group__thermali.html#ga2f66502008cbd30edeedb075d10abc4b',1,'thermali.h']]], + ['onlp_5fthermali_5fhw_5finit',['onlp_thermali_hw_init',['../group__thermali.html#ga2d9449f582f13c5b5845ce966e0aeca6',1,'thermali.h']]], + ['onlp_5fthermali_5finfo_5fget',['onlp_thermali_info_get',['../group__thermali.html#gaec311760f5ff6e68ef3a41d059c66ede',1,'thermali.h']]], + ['onlp_5fthermali_5fsw_5fdenit',['onlp_thermali_sw_denit',['../group__thermali.html#ga3f45029467c7bb2093d43abb95e84b4b',1,'thermali.h']]], + ['onlp_5fthermali_5fsw_5finit',['onlp_thermali_sw_init',['../group__thermali.html#ga3e6c3d1d4bc9ebe98d16a772c5806120',1,'thermali.h']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_0.html b/packages/base/any/onlp/src/onlp/doc/html/search/groups_0.html new file mode 100644 index 00000000..e38d5827 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_0.js b/packages/base/any/onlp/src/onlp/doc/html/search/groups_0.js new file mode 100644 index 00000000..3048d0fa --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['asset_20interface',['Asset Interface',['../group__assets.html',1,'']]], + ['attribute_20interface',['Attribute Interface',['../group__attributes.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_1.html b/packages/base/any/onlp/src/onlp/doc/html/search/groups_1.html new file mode 100644 index 00000000..342911cd --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_1.js b/packages/base/any/onlp/src/onlp/doc/html/search/groups_1.js new file mode 100644 index 00000000..066288e6 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['chassis',['Chassis',['../group__chassisi.html',1,'']]], + ['chassis',['Chassis',['../group__oid-chassis.html',1,'']]], + ['compile_20time_20configuration',['Compile Time Configuration',['../group__onlp-config.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_2.html b/packages/base/any/onlp/src/onlp/doc/html/search/groups_2.html new file mode 100644 index 00000000..1ac95e9d --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_2.js b/packages/base/any/onlp/src/onlp/doc/html/search/groups_2.js new file mode 100644 index 00000000..4dce68af --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['fans',['Fans',['../group__fani.html',1,'']]], + ['fans',['Fans',['../group__oid-fan.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_3.html b/packages/base/any/onlp/src/onlp/doc/html/search/groups_3.html new file mode 100644 index 00000000..2ccb4333 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_3.js b/packages/base/any/onlp/src/onlp/doc/html/search/groups_3.js new file mode 100644 index 00000000..9938eee5 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['generics',['Generics',['../group__oid-generic.html',1,'']]], + ['general_20oid_20interfaces',['General OID Interfaces',['../group__oid-interfaces.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_4.html b/packages/base/any/onlp/src/onlp/doc/html/search/groups_4.html new file mode 100644 index 00000000..123f91c0 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_4.js b/packages/base/any/onlp/src/onlp/doc/html/search/groups_4.js new file mode 100644 index 00000000..dece83e1 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_4.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['module_20documentation',['Module Documentation',['../group__module-interfaces.html',1,'']]], + ['modules',['Modules',['../group__modulei.html',1,'']]], + ['modules',['Modules',['../group__oid-module.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_5.html b/packages/base/any/onlp/src/onlp/doc/html/search/groups_5.html new file mode 100644 index 00000000..cecc67c8 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_5.js b/packages/base/any/onlp/src/onlp/doc/html/search/groups_5.js new file mode 100644 index 00000000..d5e9c4ed --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_5.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['oid_20types',['OID Types',['../group__oid-types.html',1,'']]], + ['onie_20interface',['ONIE Interface',['../group__onie.html',1,'']]], + ['onlp_20application_20interfaces',['ONLP Application Interfaces',['../group__onlp-appication.html',1,'']]], + ['onlp',['ONLP',['../group__onlp-main.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_6.html b/packages/base/any/onlp/src/onlp/doc/html/search/groups_6.html new file mode 100644 index 00000000..59fea40f --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_6.js b/packages/base/any/onlp/src/onlp/doc/html/search/groups_6.js new file mode 100644 index 00000000..81229a6b --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_6.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['psus',['PSUs',['../group__oid-psu.html',1,'']]], + ['platform_20implementation_20interfaces',['Platform Implementation Interfaces',['../group__onlp-platform.html',1,'']]], + ['porting_20macros',['Porting Macros',['../group__onlp-porting.html',1,'']]], + ['psus',['PSUs',['../group__psui.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_7.html b/packages/base/any/onlp/src/onlp/doc/html/search/groups_7.html new file mode 100644 index 00000000..ac8392e8 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_7.js b/packages/base/any/onlp/src/onlp/doc/html/search/groups_7.js new file mode 100644 index 00000000..50e08de3 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_7.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['sfps',['SFPs',['../group__oid-sfp.html',1,'']]], + ['sfps',['SFPs',['../group__sfpi.html',1,'']]], + ['stdattrs',['Stdattrs',['../group__stdattrs.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_8.html b/packages/base/any/onlp/src/onlp/doc/html/search/groups_8.html new file mode 100644 index 00000000..202645cc --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/groups_8.js b/packages/base/any/onlp/src/onlp/doc/html/search/groups_8.js new file mode 100644 index 00000000..6626fc6b --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/groups_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['thermals',['Thermals',['../group__oid-thermal.html',1,'']]], + ['thermals',['Thermals',['../group__thermali.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/mag_sel.png b/packages/base/any/onlp/src/onlp/doc/html/search/mag_sel.png new file mode 100644 index 00000000..81f6040a Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/search/mag_sel.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/nomatches.html b/packages/base/any/onlp/src/onlp/doc/html/search/nomatches.html new file mode 100644 index 00000000..b1ded27e --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/pages_0.html b/packages/base/any/onlp/src/onlp/doc/html/search/pages_0.html new file mode 100644 index 00000000..582ce942 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/pages_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/pages_0.js b/packages/base/any/onlp/src/onlp/doc/html/search/pages_0.js new file mode 100644 index 00000000..44905c66 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['this_20is_20the_20main_20page_2e',['This is the main page.',['../index.html',1,'']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/search.css b/packages/base/any/onlp/src/onlp/doc/html/search/search.css new file mode 100644 index 00000000..4d7612ff --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:111px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/search.js b/packages/base/any/onlp/src/onlp/doc/html/search/search.js new file mode 100644 index 00000000..41740285 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/search.js @@ -0,0 +1,809 @@ +// Search script generated by doxygen +// Copyright (C) 2009 by Dimitri van Heesch. + +// The code in this file is loosly based on main.js, part of Natural Docs, +// which is Copyright (C) 2003-2008 Greg Valure +// Natural Docs is licensed under the GPL. + +var indexSectionsWithContent = +{ + 0: "abcdefghimnoprstvw", + 1: "o", + 2: "acfgmopst", + 3: "o", + 4: "abcdefhimnoprstvw", + 5: "o", + 6: "o", + 7: "acfgmopst", + 8: "t" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "files", + 3: "functions", + 4: "variables", + 5: "typedefs", + 6: "enums", + 7: "groups", + 8: "pages" +}; + +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/typedefs_0.js b/packages/base/any/onlp/src/onlp/doc/html/search/typedefs_0.js new file mode 100644 index 00000000..28858596 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/typedefs_0.js @@ -0,0 +1,22 @@ +var searchData= +[ + ['onlp_5fasset_5finfo_5ft',['onlp_asset_info_t',['../group__stdattrs.html#ga3fc601747b554b5f67e9e14a1a2a2e8d',1,'stdattrs.h']]], + ['onlp_5fchassis_5finfo_5ft',['onlp_chassis_info_t',['../group__oid-chassis.html#ga0bfbfeceae612049706739aebe8e2b08',1,'chassis.h']]], + ['onlp_5fconfig_5fsettings_5ft',['onlp_config_settings_t',['../group__onlp-config.html#ga04a22ff069d177bd650f906005347cbf',1,'onlp_config.h']]], + ['onlp_5ffan_5fcaps_5ft',['onlp_fan_caps_t',['../group__oid-fan.html#ga5248dd4b89567e49e80bb322acf1f164',1,'fan.h']]], + ['onlp_5ffan_5fdir_5ft',['onlp_fan_dir_t',['../group__oid-fan.html#gae3c4db300fd87f5b3d531185f369a0fd',1,'fan.h']]], + ['onlp_5ffan_5finfo_5ft',['onlp_fan_info_t',['../group__oid-fan.html#gafaba5a99a4668595c0442bb1e1ece3bf',1,'fan.h']]], + ['onlp_5fgeneric_5finfo_5ft',['onlp_generic_info_t',['../group__oid-generic.html#ga848d526cf34ea1fb0cea7b3d5e02238f',1,'generic.h']]], + ['onlp_5fmodule_5finfo_5ft',['onlp_module_info_t',['../group__oid-module.html#ga246953cdb6be7b83bac70f0b1d7c297a',1,'module.h']]], + ['onlp_5fpsu_5fcaps_5ft',['onlp_psu_caps_t',['../group__oid-psu.html#ga5216b462cd966b7e8a7b60bb4f7edb3c',1,'psu.h']]], + ['onlp_5fpsu_5finfo_5ft',['onlp_psu_info_t',['../group__oid-psu.html#ga0c73830bfa1abf8ff6013f0e522071a6',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5ft',['onlp_psu_type_t',['../group__oid-psu.html#gacda088bcdd290bd1a6ab4fbe38f92e30',1,'psu.h']]], + ['onlp_5fsfp_5fbitmap_5ft',['onlp_sfp_bitmap_t',['../group__oid-sfp.html#ga4bb7b4423434a976e2f2eb76264845c0',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5ft',['onlp_sfp_control_flag_t',['../group__oid-sfp.html#gad45e59ad466b61cb579b9e48c43da267',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5ft',['onlp_sfp_control_t',['../group__oid-sfp.html#ga4b865c10ba285bacfd5458731bbb0aa0',1,'sfp.h']]], + ['onlp_5fsfp_5finfo_5ft',['onlp_sfp_info_t',['../group__oid-sfp.html#ga40f6a919c28c6cd8e2ce44c5a0f48f61',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5ft',['onlp_sfp_type_t',['../group__oid-sfp.html#gae972601807953e28afc78e5e0bda6387',1,'sfp.h']]], + ['onlp_5fthermal_5fcaps_5ft',['onlp_thermal_caps_t',['../group__oid-thermal.html#gabd4b3f2683b2ab876b97f5821a11dee3',1,'thermal.h']]], + ['onlp_5fthermal_5finfo_5ft',['onlp_thermal_info_t',['../group__oid-thermal.html#gad25160e669b56a59f9ee2f6d2e2536ae',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5ft',['onlp_thermal_threshold_t',['../group__oid-thermal.html#gae0e09173e43b1c395bb736bfb921189e',1,'thermal.h']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_0.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_0.html new file mode 100644 index 00000000..571f3948 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_0.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_0.js new file mode 100644 index 00000000..fe016715 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['a0',['a0',['../structonlp__sfp__info__t.html#a98e752ad7eb154ab9cec328a9dd51b23',1,'onlp_sfp_info_t']]], + ['a2',['a2',['../structonlp__sfp__info__t.html#ac755b9f9a53498cf5bcc7d80af6bc93e',1,'onlp_sfp_info_t']]], + ['additional',['additional',['../structonlp__asset__info__s.html#a0e49ff2e6e3830df96957e9ec9541e27',1,'onlp_asset_info_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_1.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_1.html new file mode 100644 index 00000000..cef7a9e3 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_1.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_1.js new file mode 100644 index 00000000..691b8d1b --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bytes',['bytes',['../structonlp__sfp__info__t.html#a0b4ab8a79f10b2ba976e21474752fbc5',1,'onlp_sfp_info_t']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_10.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_10.html new file mode 100644 index 00000000..7c459b6b --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_10.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_10.js new file mode 100644 index 00000000..41d9f823 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['warning',['warning',['../structonlp__thermal__info__s.html#a3d64d9695a41a8607a04fb468c9bd273',1,'onlp_thermal_info_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_2.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_2.html new file mode 100644 index 00000000..b299c29c --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_2.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_2.js new file mode 100644 index 00000000..d7497f1a --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_2.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['caps',['caps',['../structonlp__fan__info__s.html#ab0da6d91d76a1cec81c56505927dc7e8',1,'onlp_fan_info_s::caps()'],['../structonlp__led__info__s.html#a87b31360c923e1b9850964b6b13d4b78',1,'onlp_led_info_s::caps()'],['../structonlp__psu__info__t.html#a28e3036f4eba2162b72c9293395f6e35',1,'onlp_psu_info_t::caps()'],['../structonlp__thermal__info__s.html#ac056371edd6343e41b340e4958a65166',1,'onlp_thermal_info_s::caps()']]], + ['character',['character',['../structonlp__led__info__s.html#a4095ba538a4f97dd927ee9b0935a04dd',1,'onlp_led_info_s']]], + ['coids',['coids',['../structonlp__oid__hdr__s.html#a18843a55793cd5e1ef0d631633c8ac2a',1,'onlp_oid_hdr_s']]], + ['controls',['controls',['../structonlp__sfp__info__t.html#a8a99787539d15d2e68310429ef267c26',1,'onlp_sfp_info_t']]], + ['cpld_5frevision',['cpld_revision',['../structonlp__asset__info__s.html#a9562cece5bca0170722e6f4ea478d5e7',1,'onlp_asset_info_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_3.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_3.html new file mode 100644 index 00000000..a7d21864 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_3.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_3.js new file mode 100644 index 00000000..394190f9 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_3.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['date',['date',['../structonlp__asset__info__s.html#a05fc56a3353d06201741934b3e04b073',1,'onlp_asset_info_s']]], + ['description',['description',['../structonlp__oid__hdr__s.html#ae288393555bde9b70aa9aff0900fb25e',1,'onlp_oid_hdr_s::description()'],['../structonlp__asset__info__s.html#a9e34e38f1a67ad2f42a1f49b4610bec1',1,'onlp_asset_info_s::description()']]], + ['dir',['dir',['../structonlp__fan__info__s.html#a201b4f369159793f4e51893e002858a4',1,'onlp_fan_info_s']]], + ['dom',['dom',['../structonlp__sfp__info__t.html#a1048b21471f280c4ad37641527805cc1',1,'onlp_sfp_info_t']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_4.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_4.html new file mode 100644 index 00000000..2f6da691 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_4.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_4.js new file mode 100644 index 00000000..d57f523e --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['error',['error',['../structonlp__thermal__info__s.html#a9d22f9cfb0df50dddc3ed39f9e108069',1,'onlp_thermal_info_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_5.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_5.html new file mode 100644 index 00000000..6deb0562 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_5.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_5.js new file mode 100644 index 00000000..9685c44d --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['firmware_5frevision',['firmware_revision',['../structonlp__asset__info__s.html#af23efb9ff31b6ea6a8d4361882443408',1,'onlp_asset_info_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_6.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_6.html new file mode 100644 index 00000000..43a19b6a --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_6.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_6.js new file mode 100644 index 00000000..57c70858 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['hardware_5frevision',['hardware_revision',['../structonlp__asset__info__s.html#ae652b540876a108e01f1be2f436a0616',1,'onlp_asset_info_s']]], + ['hdr',['hdr',['../structonlp__chassis__info__s.html#a9f7be15b6477b4e37e1bcfd2f2edc579',1,'onlp_chassis_info_s::hdr()'],['../structonlp__fan__info__s.html#a5c468f7c01aee14a6b6ac68b82bcc0c5',1,'onlp_fan_info_s::hdr()'],['../structonlp__generic__info__s.html#ace6ebcc963862c96685baee72a07bf35',1,'onlp_generic_info_s::hdr()'],['../structonlp__led__info__s.html#a5a030f44e0a9e4bd074bc92f5e5f5409',1,'onlp_led_info_s::hdr()'],['../structonlp__module__info__s.html#a1a8564319f3c601832364aa33bfa9ad0',1,'onlp_module_info_s::hdr()'],['../structonlp__psu__info__t.html#a51641e1184aac939a72ed9fda79f6bc2',1,'onlp_psu_info_t::hdr()'],['../structonlp__sfp__info__t.html#a65aa75c90360677967751984c03facdd',1,'onlp_sfp_info_t::hdr()'],['../structonlp__thermal__info__s.html#a87e7a3e45160170366b1807197c99e4c',1,'onlp_thermal_info_s::hdr()']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_7.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_7.html new file mode 100644 index 00000000..22b439ee --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_7.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_7.js new file mode 100644 index 00000000..e873b145 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['id',['id',['../structonlp__oid__hdr__s.html#a3ad3418d09bc626533ae89ba85210d46',1,'onlp_oid_hdr_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_8.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_8.html new file mode 100644 index 00000000..cf7a26e7 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_8.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_8.js new file mode 100644 index 00000000..60d9dc27 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_8.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['manufacture_5fdate',['manufacture_date',['../structonlp__asset__info__s.html#aa63eaa53e65f6edac25c9e36d52791a6',1,'onlp_asset_info_s']]], + ['manufacturer',['manufacturer',['../structonlp__asset__info__s.html#a46f3d119b1cb118af3507a1743da4a6c',1,'onlp_asset_info_s']]], + ['mcelsius',['mcelsius',['../structonlp__thermal__info__s.html#a1aaba0b2764aaaf88a58314e8c076efc',1,'onlp_thermal_info_s']]], + ['miin',['miin',['../structonlp__psu__info__t.html#a35577c059496417f15cafbc48af5b215',1,'onlp_psu_info_t']]], + ['miout',['miout',['../structonlp__psu__info__t.html#a86f4b8abbebc9400d469f6e8089bf440',1,'onlp_psu_info_t']]], + ['mode',['mode',['../structonlp__led__info__s.html#a59bc4e40d9dc654b69afbd643f5167ea',1,'onlp_led_info_s']]], + ['model',['model',['../structonlp__fan__info__s.html#aa94e42fde59ed5e83999ee8b75285554',1,'onlp_fan_info_s::model()'],['../structonlp__psu__info__t.html#a8d451eee04df036384110d6891b65af9',1,'onlp_psu_info_t::model()']]], + ['mpin',['mpin',['../structonlp__psu__info__t.html#af213d7ec94b6dbcc467fa64d35bfc1ab',1,'onlp_psu_info_t']]], + ['mpout',['mpout',['../structonlp__psu__info__t.html#ae477a0f4b80d4073632b641fb4efdd4d',1,'onlp_psu_info_t']]], + ['mvin',['mvin',['../structonlp__psu__info__t.html#a0a255c38ff5f8cdb6272c9dcde64a1b8',1,'onlp_psu_info_t']]], + ['mvout',['mvout',['../structonlp__psu__info__t.html#afdd172c9f7e6b8014db3704ea92dee41',1,'onlp_psu_info_t']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_9.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_9.html new file mode 100644 index 00000000..4efc5aac --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_9.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_9.js new file mode 100644 index 00000000..07b3d841 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['name',['name',['../structonlp__config__settings__s.html#a88b711c88dcd2ecb89cbe17f3abfc449',1,'onlp_config_settings_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_a.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_a.html new file mode 100644 index 00000000..04a9a321 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_a.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_a.js new file mode 100644 index 00000000..59282e4d --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_a.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['oid',['oid',['../structonlp__asset__info__s.html#a644861e22dae549ed91b01a10de509b7',1,'onlp_asset_info_s']]], + ['onlp_5fconfig_5fsettings',['onlp_config_settings',['../group__onlp-config.html#ga9991c79d865a889970209820348cd726',1,'onlp_config.h']]], + ['onlp_5ffan_5fcaps_5fdesc_5fmap',['onlp_fan_caps_desc_map',['../group__oid-fan.html#gaae011c1d2b8c11d0ff4103d724ba71bf',1,'fan.h']]], + ['onlp_5ffan_5fcaps_5fmap',['onlp_fan_caps_map',['../group__oid-fan.html#ga1c1e380f9acceaf65df901adca662eee',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fdesc_5fmap',['onlp_fan_dir_desc_map',['../group__oid-fan.html#ga27d310514931faa5a4aaaa86466d3ef3',1,'fan.h']]], + ['onlp_5ffan_5fdir_5fmap',['onlp_fan_dir_map',['../group__oid-fan.html#ga4b356b7971d13e969659a7f1d52aca59',1,'fan.h']]], + ['onlp_5fpsu_5fcaps_5fdesc_5fmap',['onlp_psu_caps_desc_map',['../group__oid-psu.html#ga0db5f2ef0e61d2af19a093da16cfdac1',1,'psu.h']]], + ['onlp_5fpsu_5fcaps_5fmap',['onlp_psu_caps_map',['../group__oid-psu.html#ga5a15784398faa7998a5453e0cc0a5da9',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5fdesc_5fmap',['onlp_psu_type_desc_map',['../group__oid-psu.html#gae30575ab2613a0f513c4d9eb87ce6648',1,'psu.h']]], + ['onlp_5fpsu_5ftype_5fmap',['onlp_psu_type_map',['../group__oid-psu.html#ga3088390a518e35c54558cf0833b2faec',1,'psu.h']]], + ['onlp_5fsfp_5fcontrol_5fdesc_5fmap',['onlp_sfp_control_desc_map',['../group__oid-sfp.html#ga8c94cbefa56a54355eb669f09a8ee2b8',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fdesc_5fmap',['onlp_sfp_control_flag_desc_map',['../group__oid-sfp.html#ga936d5de6a398e6b46e7158221368cebe',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fflag_5fmap',['onlp_sfp_control_flag_map',['../group__oid-sfp.html#ga4a3e5b31a83eb0ce5991a898da26fb3b',1,'sfp.h']]], + ['onlp_5fsfp_5fcontrol_5fmap',['onlp_sfp_control_map',['../group__oid-sfp.html#ga401aa4f153a66b480013f54df3a681a0',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fdesc_5fmap',['onlp_sfp_type_desc_map',['../group__oid-sfp.html#ga37b8c43ea60e6389105e581f652e97f9',1,'sfp.h']]], + ['onlp_5fsfp_5ftype_5fmap',['onlp_sfp_type_map',['../group__oid-sfp.html#ga77e6b91b2abc4b438fe44ac8c899450d',1,'sfp.h']]], + ['onlp_5fthermal_5fcaps_5fdesc_5fmap',['onlp_thermal_caps_desc_map',['../group__oid-thermal.html#gab80fcba63d439f3cfff302db54796564',1,'thermal.h']]], + ['onlp_5fthermal_5fcaps_5fmap',['onlp_thermal_caps_map',['../group__oid-thermal.html#gace07bcb9e15e48c1a19dc83212cca354',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fdesc_5fmap',['onlp_thermal_threshold_desc_map',['../group__oid-thermal.html#gad960f17d2e3e212198aa8fadbfb59d14',1,'thermal.h']]], + ['onlp_5fthermal_5fthreshold_5fmap',['onlp_thermal_threshold_map',['../group__oid-thermal.html#ga6de44a610c9ac2709df9fcb533aad686',1,'thermal.h']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_b.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_b.html new file mode 100644 index 00000000..02bb87b4 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_b.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_b.js new file mode 100644 index 00000000..1eafbb69 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['part_5fnumber',['part_number',['../structonlp__asset__info__s.html#ab23de79090e7300dfa1ea0564753bfa3',1,'onlp_asset_info_s']]], + ['percentage',['percentage',['../structonlp__fan__info__s.html#ae70e4ebc2e465899ea385644d4612d4d',1,'onlp_fan_info_s']]], + ['poid',['poid',['../structonlp__oid__hdr__s.html#af428fdd4d8d0d6332b8f196448984061',1,'onlp_oid_hdr_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_c.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_c.html new file mode 100644 index 00000000..7118dd09 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_c.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_c.js new file mode 100644 index 00000000..095a48c5 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['rpm',['rpm',['../structonlp__fan__info__s.html#acc92e105db37a3d0df7c834bfa739d28',1,'onlp_fan_info_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_d.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_d.html new file mode 100644 index 00000000..03f96934 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_d.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_d.js new file mode 100644 index 00000000..221e8b24 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_d.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['serial',['serial',['../structonlp__fan__info__s.html#ad89c58b7f96020916c35797446d60984',1,'onlp_fan_info_s::serial()'],['../structonlp__psu__info__t.html#a77b47bcf3c2205d14850c44a14d0dcf1',1,'onlp_psu_info_t::serial()']]], + ['serial_5fnumber',['serial_number',['../structonlp__asset__info__s.html#ae14e986b2d61b2c034cec866d6a365bd',1,'onlp_asset_info_s']]], + ['sff',['sff',['../structonlp__sfp__info__t.html#a59d9b00fccb625554fb38002dceaf826',1,'onlp_sfp_info_t']]], + ['shutdown',['shutdown',['../structonlp__thermal__info__s.html#ac62a266c2f6aab142789a421581f416b',1,'onlp_thermal_info_s']]], + ['status',['status',['../structonlp__oid__hdr__s.html#af205439944b6fbfbb0f7aea60707d6c6',1,'onlp_oid_hdr_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_e.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_e.html new file mode 100644 index 00000000..0914196d --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_e.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_e.js new file mode 100644 index 00000000..6959f958 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_e.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['thresholds',['thresholds',['../structonlp__thermal__info__s.html#a27cf1ef766f2b8c400df5f003809bca4',1,'onlp_thermal_info_s']]], + ['type',['type',['../structonlp__psu__info__t.html#a15b4df62bdd73343b54573d21bdcfbb7',1,'onlp_psu_info_t::type()'],['../structonlp__sfp__info__t.html#a96a4b86f10e7f6621680896cf6ef8857',1,'onlp_sfp_info_t::type()']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_f.html b/packages/base/any/onlp/src/onlp/doc/html/search/variables_f.html new file mode 100644 index 00000000..fff38332 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/packages/base/any/onlp/src/onlp/doc/html/search/variables_f.js b/packages/base/any/onlp/src/onlp/doc/html/search/variables_f.js new file mode 100644 index 00000000..6114eab3 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/search/variables_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value',['value',['../structonlp__config__settings__s.html#aa26e1e02ff52f09844939177000feaf6',1,'onlp_config_settings_s']]] +]; diff --git a/packages/base/any/onlp/src/onlp/doc/html/sfp_8h.html b/packages/base/any/onlp/src/onlp/doc/html/sfp_8h.html new file mode 100644 index 00000000..88f29fed --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/sfp_8h.html @@ -0,0 +1,328 @@ + + + + + + +ONLP: module/inc/onlp/sfp.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sfp.h File Reference
+
+
+ +

SFP Management Interface. +More...

+
#include <onlp/onlp_config.h>
+#include <onlp/onlp.h>
+#include <onlp/oids.h>
+#include <AIM/aim_bitmap.h>
+#include <AIM/aim_pvs.h>
+#include <sff/sff.h>
+#include <sff/dom.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  onlp_sfp_info_t
 
+ + + + + + + + + + + + + +

+Macros

#define ONLP_SFP_BLOCK_DATA_SIZE   256
 
#define ONLP_SFP_CONTROL_STRINGS
 
#define ONLP_SFP_CONTROL_VALID(_e)   ( (0 <= (_e)) && ((_e) <= ONLP_SFP_CONTROL_POWER_OVERRIDE))
 
#define ONLP_SFP_CONTROL_FLAG_VALID(_e)   (onlp_sfp_control_flag_valid((_e)))
 
#define ONLP_SFP_TYPE_STRINGS
 
#define ONLP_SFP_TYPE_VALID(_e)   ( (0 <= (_e)) && ((_e) <= ONLP_SFP_TYPE_QSFP28))
 
+ + + + + + + + + + + +

+Typedefs

typedef enum onlp_sfp_control_e onlp_sfp_control_t
 
typedef enum
+onlp_sfp_control_flag_e 
onlp_sfp_control_flag_t
 
typedef enum onlp_sfp_type_e onlp_sfp_type_t
 
typedef struct onlp_sfp_info_t onlp_sfp_info_t
 
typedef aim_bitmap256_t onlp_sfp_bitmap_t
 
+ + + + + + + +

+Enumerations

enum  onlp_sfp_control_e {
+  ONLP_SFP_CONTROL_RESET, +ONLP_SFP_CONTROL_RESET_STATE, +ONLP_SFP_CONTROL_RX_LOS, +ONLP_SFP_CONTROL_TX_FAULT, +
+  ONLP_SFP_CONTROL_TX_DISABLE, +ONLP_SFP_CONTROL_TX_DISABLE_CHANNEL, +ONLP_SFP_CONTROL_LP_MODE, +ONLP_SFP_CONTROL_POWER_OVERRIDE, +
+  ONLP_SFP_CONTROL_LAST = ONLP_SFP_CONTROL_POWER_OVERRIDE, +ONLP_SFP_CONTROL_COUNT, +ONLP_SFP_CONTROL_INVALID = -1 +
+ }
 
enum  onlp_sfp_control_flag_e {
+  ONLP_SFP_CONTROL_FLAG_RESET = (1 << 0), +ONLP_SFP_CONTROL_FLAG_RESET_STATE = (1 << 1), +ONLP_SFP_CONTROL_FLAG_RX_LOS = (1 << 2), +ONLP_SFP_CONTROL_FLAG_TX_FAULT = (1 << 3), +
+  ONLP_SFP_CONTROL_FLAG_TX_DISABLE = (1 << 4), +ONLP_SFP_CONTROL_FLAG_TX_DISABLE_CHANNEL = (1 << 5), +ONLP_SFP_CONTROL_FLAG_LP_MODE = (1 << 6), +ONLP_SFP_CONTROL_FLAG_POWER_OVERRIDE = (1 << 7) +
+ }
 
enum  onlp_sfp_type_e {
+  ONLP_SFP_TYPE_SFP, +ONLP_SFP_TYPE_QSFP, +ONLP_SFP_TYPE_SFP28, +ONLP_SFP_TYPE_QSFP28, +
+  ONLP_SFP_TYPE_LAST = ONLP_SFP_TYPE_QSFP28, +ONLP_SFP_TYPE_COUNT, +ONLP_SFP_TYPE_INVALID = -1 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+int onlp_sfp_sw_init (void)
 Software initialization of the SFP module.
 
int onlp_sfp_hw_init (uint32_t flags)
 Hardware initialization of the SFP module. More...
 
int onlp_sfp_sw_denit (void)
 Deinitialize the sfp software module. More...
 
void onlp_sfp_bitmap_t_init (onlp_sfp_bitmap_t *bmap)
 
int onlp_sfp_bitmap_get (onlp_sfp_bitmap_t *bmap)
 Get the set of valid SFP ports. More...
 
int onlp_sfp_info_get (onlp_oid_t port, onlp_sfp_info_t *info)
 Get the SFP information structure. More...
 
int onlp_sfp_info_dom_get (onlp_oid_t port, onlp_sfp_info_t *info)
 Get the SFP information structure (including DOM) More...
 
int onlp_sfp_hdr_get (onlp_oid_t port, onlp_oid_hdr_t *rv)
 Get the SFP's oid header. More...
 
int onlp_sfp_port_valid (onlp_oid_t port)
 Determine if a given port number is a valid SFP port. More...
 
int onlp_sfp_type_get (onlp_oid_t port, onlp_sfp_type_t *rtype)
 Determine the SFP Connector type. More...
 
int onlp_sfp_is_present (onlp_oid_t port)
 Determine if an SFP is currently plugged in. More...
 
int onlp_sfp_presence_bitmap_get (onlp_sfp_bitmap_t *dst)
 Return the presence bitmap for all ports. More...
 
int onlp_sfp_rx_los_bitmap_get (onlp_sfp_bitmap_t *dst)
 Get the RX_LOS bitmap for all ports. More...
 
int onlp_sfp_dev_read (onlp_oid_t port, int devaddr, int addr, uint8_t *dst, int count)
 Read bytes from the target device on the given SFP port. More...
 
int onlp_sfp_dev_alloc_read (onlp_oid_t port, int devaddr, int addr, int count, uint8_t **rv)
 Read bytes from the target device on the given SFP port. More...
 
int onlp_sfp_dev_write (onlp_oid_t port, int devaddr, int addr, uint8_t *src, int count)
 Write bytes to the target device on the given SFP port. More...
 
int onlp_sfp_dev_readb (onlp_oid_t port, int devaddr, int addr)
 Read a byte from the target device on the given SFP port. More...
 
int onlp_sfp_dev_writeb (onlp_oid_t port, int devaddr, int addr, uint8_t value)
 Write a byte to the target device on the given SFP port. More...
 
int onlp_sfp_dev_readw (onlp_oid_t port, int devaddr, int addr)
 Read a word from the target device on the given SFP port. More...
 
int onlp_sfp_dev_writew (onlp_oid_t port, int devaddr, int addr, uint16_t value)
 Write a word to the target device on the given SFP port. More...
 
int onlp_sfp_post_insert (onlp_oid_t port, sff_info_t *info)
 Perform any actions required after an SFP is inserted. More...
 
int onlp_sfp_control_set (onlp_oid_t port, onlp_sfp_control_t control, int value)
 Set an SFP control. More...
 
int onlp_sfp_control_get (onlp_oid_t port, onlp_sfp_control_t control, int *value)
 Get an SFP control. More...
 
int onlp_sfp_control_flags_get (onlp_oid_t port, uint32_t *flags)
 Get the value of all SFP controls. More...
 
int onlp_sfp_info_to_user_json (onlp_sfp_info_t *info, cJSON **rv, uint32_t flags)
 Convert an SFP info structure to user JSON. More...
 
int onlp_sfp_info_to_json (onlp_sfp_info_t *info, cJSON **rv, uint32_t flags)
 Convert an SFP info structure to JSON. More...
 
int onlp_sfp_info_from_json (cJSON *cj, onlp_sfp_info_t *info)
 Convert a JSON object to an SFP info structure. More...
 
+int onlp_sfp_hw_denit (void)
 Hardware deinitialize the SFP subsystem.
 
+int onlp_sfp_inventory_show (aim_pvs_t *pvs)
 Show the current SFP inventory.
 
const char * onlp_sfp_control_name (onlp_sfp_control_t e)
 
int onlp_sfp_control_value (const char *str, onlp_sfp_control_t *e, int substr)
 
const char * onlp_sfp_control_desc (onlp_sfp_control_t e)
 
const char * onlp_sfp_control_flag_name (onlp_sfp_control_flag_t e)
 
int onlp_sfp_control_flag_value (const char *str, onlp_sfp_control_flag_t *e, int substr)
 
const char * onlp_sfp_control_flag_desc (onlp_sfp_control_flag_t e)
 
int onlp_sfp_control_flag_valid (onlp_sfp_control_flag_t e)
 
const char * onlp_sfp_type_name (onlp_sfp_type_t e)
 
int onlp_sfp_type_value (const char *str, onlp_sfp_type_t *e, int substr)
 
const char * onlp_sfp_type_desc (onlp_sfp_type_t e)
 
+ + + + + + + + + + + + + +

+Variables

aim_map_si_t onlp_sfp_control_map []
 
aim_map_si_t onlp_sfp_control_desc_map []
 
aim_map_si_t onlp_sfp_control_flag_map []
 
aim_map_si_t onlp_sfp_control_flag_desc_map []
 
aim_map_si_t onlp_sfp_type_map []
 
aim_map_si_t onlp_sfp_type_desc_map []
 
+

Detailed Description

+

SFP Management Interface.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/sfp_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/sfp_8h_source.html new file mode 100644 index 00000000..28630969 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/sfp_8h_source.html @@ -0,0 +1,412 @@ + + + + + + +ONLP: module/inc/onlp/sfp.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sfp.h
+
+
+Go to the documentation of this file.
1 /*************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  *********************************************************/
+
28 #ifndef __ONLP_SFP_H__
+
29 #define __ONLP_SFP_H__
+
30 
+
31 #include <onlp/onlp_config.h>
+
32 #include <onlp/onlp.h>
+
33 #include <onlp/oids.h>
+
34 #include <AIM/aim_bitmap.h>
+
35 #include <AIM/aim_pvs.h>
+
36 #include <sff/sff.h>
+
37 #include <sff/dom.h>
+
38 
+
39 /* <auto.start.enum(tag:sfp1).define> */
+
41 typedef enum onlp_sfp_control_e {
+
42  ONLP_SFP_CONTROL_RESET,
+
43  ONLP_SFP_CONTROL_RESET_STATE,
+
44  ONLP_SFP_CONTROL_RX_LOS,
+
45  ONLP_SFP_CONTROL_TX_FAULT,
+
46  ONLP_SFP_CONTROL_TX_DISABLE,
+
47  ONLP_SFP_CONTROL_TX_DISABLE_CHANNEL,
+
48  ONLP_SFP_CONTROL_LP_MODE,
+
49  ONLP_SFP_CONTROL_POWER_OVERRIDE,
+
50  ONLP_SFP_CONTROL_LAST = ONLP_SFP_CONTROL_POWER_OVERRIDE,
+
51  ONLP_SFP_CONTROL_COUNT,
+
52  ONLP_SFP_CONTROL_INVALID = -1,
+ +
54 /* <auto.end.enum(tag:sfp1).define> */
+
55 
+
56 /* <auto.start.enum(tag:sfp2).define> */
+ +
59  ONLP_SFP_CONTROL_FLAG_RESET = (1 << 0),
+
60  ONLP_SFP_CONTROL_FLAG_RESET_STATE = (1 << 1),
+
61  ONLP_SFP_CONTROL_FLAG_RX_LOS = (1 << 2),
+
62  ONLP_SFP_CONTROL_FLAG_TX_FAULT = (1 << 3),
+
63  ONLP_SFP_CONTROL_FLAG_TX_DISABLE = (1 << 4),
+
64  ONLP_SFP_CONTROL_FLAG_TX_DISABLE_CHANNEL = (1 << 5),
+
65  ONLP_SFP_CONTROL_FLAG_LP_MODE = (1 << 6),
+
66  ONLP_SFP_CONTROL_FLAG_POWER_OVERRIDE = (1 << 7),
+ +
68 
+
70 typedef enum onlp_sfp_type_e {
+
71  ONLP_SFP_TYPE_SFP,
+
72  ONLP_SFP_TYPE_QSFP,
+
73  ONLP_SFP_TYPE_SFP28,
+
74  ONLP_SFP_TYPE_QSFP28,
+
75  ONLP_SFP_TYPE_LAST = ONLP_SFP_TYPE_QSFP28,
+
76  ONLP_SFP_TYPE_COUNT,
+
77  ONLP_SFP_TYPE_INVALID = -1,
+ +
79 /* <auto.end.enum(tag:sfp2).define> */
+
80 
+
81 
+
82 
+
86 #define ONLP_SFP_BLOCK_DATA_SIZE 256
+
87 
+
88 
+
92 typedef struct onlp_sfp_info_t {
+ +
95 
+ +
98 
+
100  uint32_t controls;
+
101 
+
102 
+
103  /*
+
104  * The following fields are only relevant
+
105  * if the SFP is present.
+
106  */
+
107 
+
108 
+
117  sff_info_t sff;
+
118 
+
122  sff_dom_info_t dom;
+
123 
+
125  struct {
+ +
128 
+ +
131  } bytes;
+
132 
+ +
134 
+
138 typedef aim_bitmap256_t onlp_sfp_bitmap_t;
+
139 
+
140 
+
144 int onlp_sfp_sw_init(void);
+
145 
+
150 int onlp_sfp_hw_init(uint32_t flags);
+
151 
+
158 int onlp_sfp_sw_denit(void);
+
159 
+ +
165 
+ +
171 
+
177 int onlp_sfp_info_get(onlp_oid_t port, onlp_sfp_info_t* info);
+
178 
+
184 int onlp_sfp_info_dom_get(onlp_oid_t port, onlp_sfp_info_t* info);
+
185 
+
191 int onlp_sfp_hdr_get(onlp_oid_t port, onlp_oid_hdr_t* rv);
+
192 
+
197 int onlp_sfp_port_valid(onlp_oid_t port);
+
198 
+
204 int onlp_sfp_type_get(onlp_oid_t port, onlp_sfp_type_t* rtype);
+
205 
+
213 int onlp_sfp_is_present(onlp_oid_t port);
+
214 
+ +
223 
+
224 
+ +
233 
+
243 int onlp_sfp_dev_read(onlp_oid_t port, int devaddr, int addr,
+
244  uint8_t* dst, int count);
+
245 
+
255 int onlp_sfp_dev_alloc_read(onlp_oid_t port,
+
256  int devaddr, int addr, int count,
+
257  uint8_t** rv);
+
258 
+
267 int onlp_sfp_dev_write(onlp_oid_t port, int devaddr, int addr,
+
268  uint8_t* src, int count);
+
269 
+
277 int onlp_sfp_dev_readb(onlp_oid_t port, int devaddr, int addr);
+
278 
+
286 int onlp_sfp_dev_writeb(onlp_oid_t port, int devaddr, int addr,
+
287  uint8_t value);
+
288 
+
296 int onlp_sfp_dev_readw(onlp_oid_t port, int devaddr, int addr);
+
297 
+
305 int onlp_sfp_dev_writew(onlp_oid_t port, int devaddr, int addr,
+
306  uint16_t value);
+
307 
+
308 
+
309 
+
318 int onlp_sfp_post_insert(onlp_oid_t port, sff_info_t* info);
+
319 
+
326 int onlp_sfp_control_set(onlp_oid_t port, onlp_sfp_control_t control, int value);
+
327 
+
334 int onlp_sfp_control_get(onlp_oid_t port, onlp_sfp_control_t control,
+
335  int* value);
+
336 
+
342 int onlp_sfp_control_flags_get(onlp_oid_t port, uint32_t* flags);
+
343 
+
344 
+
351 int onlp_sfp_info_to_user_json(onlp_sfp_info_t* info, cJSON** rv, uint32_t flags);
+
352 
+
359 int onlp_sfp_info_to_json(onlp_sfp_info_t* info, cJSON** rv, uint32_t flags);
+
360 
+
361 
+
367 int onlp_sfp_info_from_json(cJSON* cj, onlp_sfp_info_t* info);
+
368 
+
372 int onlp_sfp_sw_denit(void);
+
373 
+
377 int onlp_sfp_hw_denit(void);
+
378 
+
382 int onlp_sfp_inventory_show(aim_pvs_t* pvs);
+
383 
+
384 /******************************************************************************
+
385  *
+
386  * Enumeration Support Definitions.
+
387  *
+
388  * Please do not add additional code beyond this point.
+
389  *
+
390  *****************************************************************************/
+
391 /* <auto.start.enum(tag:sfp1).supportheader> */
+
393 #define ONLP_SFP_CONTROL_STRINGS \
+
394 {\
+
395  "RESET", \
+
396  "RESET_STATE", \
+
397  "RX_LOS", \
+
398  "TX_FAULT", \
+
399  "TX_DISABLE", \
+
400  "TX_DISABLE_CHANNEL", \
+
401  "LP_MODE", \
+
402  "POWER_OVERRIDE", \
+
403 }
+
404 
+ +
406 
+
408 int onlp_sfp_control_value(const char* str, onlp_sfp_control_t* e, int substr);
+
409 
+ +
412 
+
414 #define ONLP_SFP_CONTROL_VALID(_e) \
+
415  ( (0 <= (_e)) && ((_e) <= ONLP_SFP_CONTROL_POWER_OVERRIDE))
+
416 
+
418 extern aim_map_si_t onlp_sfp_control_map[];
+
420 extern aim_map_si_t onlp_sfp_control_desc_map[];
+
421 /* <auto.end.enum(tag:sfp1).supportheader> */
+
422 
+
423 /* <auto.start.enum(tag:sfp2).supportheader> */
+ +
426 
+
428 int onlp_sfp_control_flag_value(const char* str, onlp_sfp_control_flag_t* e, int substr);
+
429 
+ +
432 
+ +
435 
+
437 #define ONLP_SFP_CONTROL_FLAG_VALID(_e) \
+
438  (onlp_sfp_control_flag_valid((_e)))
+
439 
+
441 extern aim_map_si_t onlp_sfp_control_flag_map[];
+
443 extern aim_map_si_t onlp_sfp_control_flag_desc_map[];
+
444 
+
446 #define ONLP_SFP_TYPE_STRINGS \
+
447 {\
+
448  "SFP", \
+
449  "QSFP", \
+
450  "SFP28", \
+
451  "QSFP28", \
+
452 }
+
453 
+
454 const char* onlp_sfp_type_name(onlp_sfp_type_t e);
+
455 
+
457 int onlp_sfp_type_value(const char* str, onlp_sfp_type_t* e, int substr);
+
458 
+
460 const char* onlp_sfp_type_desc(onlp_sfp_type_t e);
+
461 
+
463 #define ONLP_SFP_TYPE_VALID(_e) \
+
464  ( (0 <= (_e)) && ((_e) <= ONLP_SFP_TYPE_QSFP28))
+
465 
+
467 extern aim_map_si_t onlp_sfp_type_map[];
+
469 extern aim_map_si_t onlp_sfp_type_desc_map[];
+
470 /* <auto.end.enum(tag:sfp2).supportheader> */
+
471 
+
472 #endif /* __ONLP_SFP_H__ */
+
473 /* @} */
+
uint8_t a0[ONLP_SFP_BLOCK_DATA_SIZE]
Definition: sfp.h:127
+
onlp Configuration Header
+
struct onlp_sfp_info_t::@0 bytes
+
aim_map_si_t onlp_sfp_control_flag_map[]
+
int onlp_sfp_dev_alloc_read(onlp_oid_t port, int devaddr, int addr, int count, uint8_t **rv)
Read bytes from the target device on the given SFP port.
+
aim_map_si_t onlp_sfp_control_map[]
+
int onlp_sfp_hw_denit(void)
Hardware deinitialize the SFP subsystem.
+
const char * onlp_sfp_type_name(onlp_sfp_type_t e)
+
int onlp_sfp_control_flags_get(onlp_oid_t port, uint32_t *flags)
Get the value of all SFP controls.
+
int onlp_sfp_presence_bitmap_get(onlp_sfp_bitmap_t *dst)
Return the presence bitmap for all ports.
+
int onlp_sfp_rx_los_bitmap_get(onlp_sfp_bitmap_t *dst)
Get the RX_LOS bitmap for all ports.
+
onlp_sfp_control_flag_e
Definition: sfp.h:58
+
const char * onlp_sfp_type_desc(onlp_sfp_type_t e)
+
int onlp_sfp_control_get(onlp_oid_t port, onlp_sfp_control_t control, int *value)
Get an SFP control.
+
aim_map_si_t onlp_sfp_type_map[]
+
uint8_t a2[ONLP_SFP_BLOCK_DATA_SIZE]
Definition: sfp.h:130
+
int onlp_sfp_type_get(onlp_oid_t port, onlp_sfp_type_t *rtype)
Determine the SFP Connector type.
+
int onlp_sfp_info_get(onlp_oid_t port, onlp_sfp_info_t *info)
Get the SFP information structure.
+
int onlp_sfp_post_insert(onlp_oid_t port, sff_info_t *info)
Perform any actions required after an SFP is inserted.
+
int onlp_sfp_control_flag_value(const char *str, onlp_sfp_control_flag_t *e, int substr)
+
int onlp_sfp_hw_init(uint32_t flags)
Hardware initialization of the SFP module.
+
void onlp_sfp_bitmap_t_init(onlp_sfp_bitmap_t *bmap)
+
int onlp_sfp_dev_writeb(onlp_oid_t port, int devaddr, int addr, uint8_t value)
Write a byte to the target device on the given SFP port.
+
int onlp_sfp_hdr_get(onlp_oid_t port, onlp_oid_hdr_t *rv)
Get the SFP's oid header.
+
int onlp_sfp_control_value(const char *str, onlp_sfp_control_t *e, int substr)
+
onlp_sfp_type_e
Definition: sfp.h:70
+
int onlp_sfp_type_value(const char *str, onlp_sfp_type_t *e, int substr)
+
aim_map_si_t onlp_sfp_control_desc_map[]
+
int onlp_sfp_control_flag_valid(onlp_sfp_control_flag_t e)
+
int onlp_sfp_dev_readw(onlp_oid_t port, int devaddr, int addr)
Read a word from the target device on the given SFP port.
+
const char * onlp_sfp_control_flag_name(onlp_sfp_control_flag_t e)
+
int onlp_sfp_bitmap_get(onlp_sfp_bitmap_t *bmap)
Get the set of valid SFP ports.
+
const char * onlp_sfp_control_flag_desc(onlp_sfp_control_flag_t e)
+
int onlp_sfp_dev_read(onlp_oid_t port, int devaddr, int addr, uint8_t *dst, int count)
Read bytes from the target device on the given SFP port.
+
int onlp_sfp_dev_write(onlp_oid_t port, int devaddr, int addr, uint8_t *src, int count)
Write bytes to the target device on the given SFP port.
+
int onlp_sfp_control_set(onlp_oid_t port, onlp_sfp_control_t control, int value)
Set an SFP control.
+
const char * onlp_sfp_control_desc(onlp_sfp_control_t e)
+
int onlp_sfp_info_to_user_json(onlp_sfp_info_t *info, cJSON **rv, uint32_t flags)
Convert an SFP info structure to user JSON.
+
int onlp_sfp_is_present(onlp_oid_t port)
Determine if an SFP is currently plugged in.
+
aim_bitmap256_t onlp_sfp_bitmap_t
Definition: sfp.h:138
+
int onlp_sfp_info_dom_get(onlp_oid_t port, onlp_sfp_info_t *info)
Get the SFP information structure (including DOM)
+
uint32_t controls
Definition: sfp.h:100
+
int onlp_sfp_inventory_show(aim_pvs_t *pvs)
Show the current SFP inventory.
+
Definition: sfp.h:92
+
sff_dom_info_t dom
Definition: sfp.h:122
+
int onlp_sfp_sw_init(void)
Software initialization of the SFP module.
+
enum onlp_sfp_control_flag_e onlp_sfp_control_flag_t
+
enum onlp_sfp_type_e onlp_sfp_type_t
+
const char * onlp_sfp_control_name(onlp_sfp_control_t e)
+
int onlp_sfp_info_to_json(onlp_sfp_info_t *info, cJSON **rv, uint32_t flags)
Convert an SFP info structure to JSON.
+
onlp_sfp_control_e
Definition: sfp.h:41
+
enum onlp_sfp_control_e onlp_sfp_control_t
+
int onlp_sfp_port_valid(onlp_oid_t port)
Determine if a given port number is a valid SFP port.
+
onlp_oid_hdr_t hdr
Definition: sfp.h:94
+
int onlp_sfp_sw_denit(void)
Deinitialize the sfp software module.
+
aim_map_si_t onlp_sfp_type_desc_map[]
+
sff_info_t sff
Definition: sfp.h:117
+
int onlp_sfp_dev_readb(onlp_oid_t port, int devaddr, int addr)
Read a byte from the target device on the given SFP port.
+
int onlp_sfp_info_from_json(cJSON *cj, onlp_sfp_info_t *info)
Convert a JSON object to an SFP info structure.
+
struct onlp_sfp_info_t onlp_sfp_info_t
+
Definition: oids.h:212
+
int onlp_sfp_dev_writew(onlp_oid_t port, int devaddr, int addr, uint16_t value)
Write a word to the target device on the given SFP port.
+
#define ONLP_SFP_BLOCK_DATA_SIZE
Definition: sfp.h:86
+
aim_map_si_t onlp_sfp_control_flag_desc_map[]
+
onlp_sfp_type_t type
Definition: sfp.h:97
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/sfpi_8h.html b/packages/base/any/onlp/src/onlp/doc/html/sfpi_8h.html new file mode 100644 index 00000000..c8f6f69d --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/sfpi_8h.html @@ -0,0 +1,177 @@ + + + + + + +ONLP: module/inc/onlp/platformi/sfpi.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sfpi.h File Reference
+
+
+ +

SFP Platform Implementation Interface. This interface must be implemented and available for all platforms that support SFP interfaces. +More...

+
#include <onlp/onlp_config.h>
+#include <onlp/sfp.h>
+#include <sff/sff.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+int onlp_sfpi_sw_init (void)
 Software initialization of the SFP module.
 
int onlp_sfpi_hw_init (uint32_t flags)
 Hardware initialization of the SFP module. More...
 
int onlp_sfpi_sw_denit (void)
 Deinitialize the chassis software module. More...
 
int onlp_sfpi_bitmap_get (onlp_sfp_bitmap_t *bmap)
 Get the bitmap of SFP-capable port numbers. More...
 
int onlp_sfpi_type_get (onlp_oid_id_t id, onlp_sfp_type_t *rtype)
 Determine the SFP connector type. More...
 
int onlp_sfpi_is_present (onlp_oid_id_t id)
 Determine if an SFP is present. More...
 
int onlp_sfpi_presence_bitmap_get (onlp_sfp_bitmap_t *dst)
 Return the presence bitmap for all SFP ports. More...
 
int onlp_sfpi_rx_los_bitmap_get (onlp_sfp_bitmap_t *dst)
 Return the RX_LOS bitmap for all SFP ports. More...
 
int onlp_sfpi_dev_read (onlp_oid_id_t id, int devaddr, int addr, uint8_t *dst, int len)
 Read bytes from the target device on the given SFP port. More...
 
int onlp_sfpi_dev_write (onlp_oid_id_t id, int devaddr, int addr, uint8_t *src, int len)
 Write bytes to the target device on the given SFP port. More...
 
int onlp_sfpi_dev_readb (onlp_oid_id_t id, int devaddr, int addr)
 Read a byte from the target device on the given SFP port. More...
 
int onlp_sfpi_dev_writeb (onlp_oid_id_t id, int devaddr, int addr, uint8_t value)
 Write a byte to the target device on the given SFP port. More...
 
int onlp_sfpi_dev_readw (onlp_oid_id_t id, int devaddr, int addr)
 Read a word from the target device on the given SFP port. More...
 
int onlp_sfpi_dev_writew (onlp_oid_id_t id, int devaddr, int addr, uint16_t value)
 Write a word to the target device on the given SFP port. More...
 
int onlp_sfpi_post_insert (onlp_oid_id_t id, sff_info_t *info)
 Perform any actions required after an SFP is inserted. More...
 
int onlp_sfpi_control_supported (onlp_oid_id_t id, onlp_sfp_control_t control, int *rv)
 Returns whether or not the given control is supported on the given port. More...
 
int onlp_sfpi_control_set (onlp_oid_id_t id, onlp_sfp_control_t control, int value)
 Set an SFP control. More...
 
int onlp_sfpi_control_get (onlp_oid_id_t id, onlp_sfp_control_t control, int *value)
 Get an SFP control. More...
 
int onlp_sfpi_port_map (onlp_oid_id_t id, int *rport)
 Remap SFP user SFP port numbers before calling the SFPI interface. More...
 
int onlp_sfpi_hdr_get (onlp_oid_id_t id, onlp_oid_hdr_t *hdr)
 Get the SFP's OID header. More...
 
+

Detailed Description

+

SFP Platform Implementation Interface. This interface must be implemented and available for all platforms that support SFP interfaces.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/sfpi_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/sfpi_8h_source.html new file mode 100644 index 00000000..38858071 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/sfpi_8h_source.html @@ -0,0 +1,206 @@ + + + + + + +ONLP: module/inc/onlp/platformi/sfpi.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sfpi.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
31 #ifndef __ONLP_SFPI_H__
+
32 #define __ONLP_SFPI_H__
+
33 
+
34 #include <onlp/onlp_config.h>
+
35 #include <onlp/sfp.h>
+
36 #include <sff/sff.h>
+
37 
+
41 int onlp_sfpi_sw_init(void);
+
42 
+
47 int onlp_sfpi_hw_init(uint32_t flags);
+
48 
+
55 int onlp_sfpi_sw_denit(void);
+
56 
+
57 
+ +
63 
+
69 int onlp_sfpi_type_get(onlp_oid_id_t id, onlp_sfp_type_t* rtype);
+
70 
+
78 int onlp_sfpi_is_present(onlp_oid_id_t id);
+
79 
+ +
85 
+ +
91 
+
92 
+
102 int onlp_sfpi_dev_read(onlp_oid_id_t id, int devaddr, int addr,
+
103  uint8_t* dst, int len);
+
104 
+
105 
+
114 int onlp_sfpi_dev_write(onlp_oid_id_t id, int devaddr, int addr,
+
115  uint8_t* src, int len);
+
116 
+
124 int onlp_sfpi_dev_readb(onlp_oid_id_t id, int devaddr, int addr);
+
125 
+
133 int onlp_sfpi_dev_writeb(onlp_oid_id_t id, int devaddr, int addr,
+
134  uint8_t value);
+
135 
+
143 int onlp_sfpi_dev_readw(onlp_oid_id_t id, int devaddr, int addr);
+
144 
+
152 int onlp_sfpi_dev_writew(onlp_oid_id_t id, int devaddr, int addr,
+
153  uint16_t value);
+
154 
+
163 int onlp_sfpi_post_insert(onlp_oid_id_t id, sff_info_t* info);
+
164 
+
174 int onlp_sfpi_control_supported(onlp_oid_id_t id,
+
175  onlp_sfp_control_t control, int* rv);
+
176 
+
183 int onlp_sfpi_control_set(onlp_oid_id_t id, onlp_sfp_control_t control,
+
184  int value);
+
185 
+
192 int onlp_sfpi_control_get(onlp_oid_id_t id, onlp_sfp_control_t control,
+
193  int* value);
+
194 
+
204 int onlp_sfpi_port_map(onlp_oid_id_t id, int* rport);
+
205 
+
206 
+
212 int onlp_sfpi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr);
+
213 
+
214 #endif /* __ONLP_SFPI_H__ */
+
215 /* @} */
+
onlp Configuration Header
+
int onlp_sfpi_dev_write(onlp_oid_id_t id, int devaddr, int addr, uint8_t *src, int len)
Write bytes to the target device on the given SFP port.
+
int onlp_sfpi_presence_bitmap_get(onlp_sfp_bitmap_t *dst)
Return the presence bitmap for all SFP ports.
+
SFP Management Interface.
+
int onlp_sfpi_post_insert(onlp_oid_id_t id, sff_info_t *info)
Perform any actions required after an SFP is inserted.
+
int onlp_sfpi_dev_writew(onlp_oid_id_t id, int devaddr, int addr, uint16_t value)
Write a word to the target device on the given SFP port.
+
int onlp_sfpi_dev_readw(onlp_oid_id_t id, int devaddr, int addr)
Read a word from the target device on the given SFP port.
+
int onlp_sfpi_sw_denit(void)
Deinitialize the chassis software module.
+
int onlp_sfpi_hw_init(uint32_t flags)
Hardware initialization of the SFP module.
+
int onlp_sfpi_type_get(onlp_oid_id_t id, onlp_sfp_type_t *rtype)
Determine the SFP connector type.
+
int onlp_sfpi_bitmap_get(onlp_sfp_bitmap_t *bmap)
Get the bitmap of SFP-capable port numbers.
+
int onlp_sfpi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t *hdr)
Get the SFP's OID header.
+
int onlp_sfpi_is_present(onlp_oid_id_t id)
Determine if an SFP is present.
+
aim_bitmap256_t onlp_sfp_bitmap_t
Definition: sfp.h:138
+
int onlp_sfpi_dev_writeb(onlp_oid_id_t id, int devaddr, int addr, uint8_t value)
Write a byte to the target device on the given SFP port.
+
int onlp_sfpi_port_map(onlp_oid_id_t id, int *rport)
Remap SFP user SFP port numbers before calling the SFPI interface.
+
int onlp_sfpi_control_get(onlp_oid_id_t id, onlp_sfp_control_t control, int *value)
Get an SFP control.
+
int onlp_sfpi_control_supported(onlp_oid_id_t id, onlp_sfp_control_t control, int *rv)
Returns whether or not the given control is supported on the given port.
+
enum onlp_sfp_type_e onlp_sfp_type_t
+
int onlp_sfpi_dev_read(onlp_oid_id_t id, int devaddr, int addr, uint8_t *dst, int len)
Read bytes from the target device on the given SFP port.
+
enum onlp_sfp_control_e onlp_sfp_control_t
+
int onlp_sfpi_dev_readb(onlp_oid_id_t id, int devaddr, int addr)
Read a byte from the target device on the given SFP port.
+
int onlp_sfpi_rx_los_bitmap_get(onlp_sfp_bitmap_t *dst)
Return the RX_LOS bitmap for all SFP ports.
+
int onlp_sfpi_sw_init(void)
Software initialization of the SFP module.
+
int onlp_sfpi_control_set(onlp_oid_id_t id, onlp_sfp_control_t control, int value)
Set an SFP control.
+
Definition: oids.h:212
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/stdattrs_8h.html b/packages/base/any/onlp/src/onlp/doc/html/stdattrs_8h.html new file mode 100644 index 00000000..d17405bc --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/stdattrs_8h.html @@ -0,0 +1,143 @@ + + + + + + +ONLP: module/inc/onlp/stdattrs.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
stdattrs.h File Reference
+
+
+ +

Standard OID Attributes. +More...

+
#include <onlp/oids.h>
+#include <onlplib/onie.h>
+#include <AIM/aim_pvs.h>
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  onlp_asset_info_s
 This structure describes general asset information that may be associated with a particular OID. More...
 
+ + + + +

+Typedefs

+typedef struct onlp_asset_info_s onlp_asset_info_t
 This structure describes general asset information that may be associated with a particular OID.
 
+ + + + + + + + + + +

+Functions

+int onlp_asset_info_show (onlp_asset_info_t *aip, aim_pvs_t *pvs)
 Show an asset structure.
 
+int onlp_asset_info_free (onlp_asset_info_t *aip)
 Free an asset structure.
 
+int onlp_asset_info_to_json (onlp_asset_info_t *aip, cJSON **rv)
 Asset info to JSON.
 
+

Detailed Description

+

Standard OID Attributes.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/stdattrs_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/stdattrs_8h_source.html new file mode 100644 index 00000000..390ea2b4 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/stdattrs_8h_source.html @@ -0,0 +1,180 @@ + + + + + + +ONLP: module/inc/onlp/stdattrs.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
stdattrs.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2017 v=onl>
+
3  *
+
4  * Copyright 2017 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
28 #ifndef __ONLP_STDATTRS_H__
+
29 #define __ONLP_STDATTRS_H__
+
30 
+
31 #include <onlp/oids.h>
+
32 #include <onlplib/onie.h>
+
33 
+
34 #include <AIM/aim_pvs.h>
+
35 
+
40 typedef struct onlp_asset_info_s {
+
42  onlp_oid_t oid;
+
43 
+
45  char* manufacturer;
+
46 
+
48  char* date;
+
49 
+
51  char* part_number;
+
52 
+ +
55 
+ +
58 
+ +
61 
+ +
64 
+ +
67 
+
69  char* description;
+
70 
+
72  char* additional;
+
73 
+ +
75 
+
76 
+
80 int onlp_asset_info_show(onlp_asset_info_t* aip, aim_pvs_t* pvs);
+
81 
+ +
86 
+
90 int onlp_asset_info_to_json(onlp_asset_info_t* aip, cJSON** rv);
+
91 
+
92 /* See onlplib/onie.h for the onie_info versions */
+
93 
+
94 #endif /* __ONLP_STDATTRS_H__ */
+
95 /* @} */
+
char * additional
Definition: stdattrs.h:72
+
char * manufacturer
Definition: stdattrs.h:45
+
int onlp_asset_info_show(onlp_asset_info_t *aip, aim_pvs_t *pvs)
Show an asset structure.
+
struct onlp_asset_info_s onlp_asset_info_t
This structure describes general asset information that may be associated with a particular OID...
+
char * serial_number
Definition: stdattrs.h:54
+
char * hardware_revision
Definition: stdattrs.h:57
+
int onlp_asset_info_to_json(onlp_asset_info_t *aip, cJSON **rv)
Asset info to JSON.
+
char * part_number
Definition: stdattrs.h:51
+
char * description
Definition: stdattrs.h:69
+
char * firmware_revision
Definition: stdattrs.h:60
+
char * cpld_revision
Definition: stdattrs.h:63
+
onlp_oid_t oid
Definition: stdattrs.h:42
+
int onlp_asset_info_free(onlp_asset_info_t *aip)
Free an asset structure.
+
char * date
Definition: stdattrs.h:48
+
char * manufacture_date
Definition: stdattrs.h:66
+
This structure describes general asset information that may be associated with a particular OID...
Definition: stdattrs.h:40
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/structonlp__asset__info__s.html b/packages/base/any/onlp/src/onlp/doc/html/structonlp__asset__info__s.html new file mode 100644 index 00000000..03a5d892 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/structonlp__asset__info__s.html @@ -0,0 +1,279 @@ + + + + + + +ONLP: onlp_asset_info_s Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
onlp_asset_info_s Struct Reference
+
+
+ +

This structure describes general asset information that may be associated with a particular OID. + More...

+ +

#include <stdattrs.h>

+ + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

onlp_oid_t oid
 
char * manufacturer
 
char * date
 
char * part_number
 
char * serial_number
 
char * hardware_revision
 
char * firmware_revision
 
char * cpld_revision
 
char * manufacture_date
 
char * description
 
char * additional
 
+

Detailed Description

+

This structure describes general asset information that may be associated with a particular OID.

+

Field Documentation

+ +
+
+ + + + +
char* onlp_asset_info_s::additional
+
+

Additional Information

+ +
+
+ +
+
+ + + + +
char* onlp_asset_info_s::cpld_revision
+
+

CPLD Revision

+ +
+
+ +
+
+ + + + +
char* onlp_asset_info_s::date
+
+

Date

+ +
+
+ +
+
+ + + + +
char* onlp_asset_info_s::description
+
+

Description

+ +
+
+ +
+
+ + + + +
char* onlp_asset_info_s::firmware_revision
+
+

Firmware Revision

+ +
+
+ +
+
+ + + + +
char* onlp_asset_info_s::hardware_revision
+
+

Hardware Revision

+ +
+
+ +
+
+ + + + +
char* onlp_asset_info_s::manufacture_date
+
+

Manufacture Date

+ +
+
+ +
+
+ + + + +
char* onlp_asset_info_s::manufacturer
+
+

Manufacturer

+ +
+
+ +
+
+ + + + +
onlp_oid_t onlp_asset_info_s::oid
+
+

The OID to which this asset info belongs

+ +
+
+ +
+
+ + + + +
char* onlp_asset_info_s::part_number
+
+

Part Number

+ +
+
+ +
+
+ + + + +
char* onlp_asset_info_s::serial_number
+
+

Serial Number

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/structonlp__chassis__info__s.html b/packages/base/any/onlp/src/onlp/doc/html/structonlp__chassis__info__s.html new file mode 100644 index 00000000..810c9497 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/structonlp__chassis__info__s.html @@ -0,0 +1,129 @@ + + + + + + +ONLP: onlp_chassis_info_s Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
onlp_chassis_info_s Struct Reference
+
+
+ +

Chassis Information Structure. + More...

+ +

#include <chassis.h>

+ + + + +

+Data Fields

onlp_oid_hdr_t hdr
 
+

Detailed Description

+

Chassis Information Structure.

+

Field Documentation

+ +
+
+ + + + +
onlp_oid_hdr_t onlp_chassis_info_s::hdr
+
+

OID Header

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/structonlp__config__settings__s.html b/packages/base/any/onlp/src/onlp/doc/html/structonlp__config__settings__s.html new file mode 100644 index 00000000..ae6e3a98 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/structonlp__config__settings__s.html @@ -0,0 +1,141 @@ + + + + + + +ONLP: onlp_config_settings_s Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
onlp_config_settings_s Struct Reference
+
+
+ +

#include <onlp_config.h>

+ + + + + + +

+Data Fields

const char * name
 
const char * value
 
+

Detailed Description

+

All compile time options can be queried or displayedConfiguration settings structure.

+

Field Documentation

+ +
+
+ + + + +
const char* onlp_config_settings_s::name
+
+

name

+ +
+
+ +
+
+ + + + +
const char* onlp_config_settings_s::value
+
+

value

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/structonlp__fan__info__s.html b/packages/base/any/onlp/src/onlp/doc/html/structonlp__fan__info__s.html new file mode 100644 index 00000000..efbc6d12 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/structonlp__fan__info__s.html @@ -0,0 +1,216 @@ + + + + + + +ONLP: onlp_fan_info_s Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
onlp_fan_info_s Struct Reference
+
+
+ +

#include <fan.h>

+ + + + + + + + + + + + + + + + +

+Data Fields

onlp_oid_hdr_t hdr
 
onlp_fan_dir_t dir
 
uint32_t caps
 
int rpm
 
int percentage
 
char model [ONLP_CONFIG_INFO_STR_MAX]
 
char serial [ONLP_CONFIG_INFO_STR_MAX]
 
+

Detailed Description

+

Fan information structure.

+

Field Documentation

+ +
+
+ + + + +
uint32_t onlp_fan_info_s::caps
+
+

Capabilities

+ +
+
+ +
+
+ + + + +
onlp_fan_dir_t onlp_fan_info_s::dir
+
+

Current direction

+ +
+
+ +
+
+ + + + +
onlp_oid_hdr_t onlp_fan_info_s::hdr
+
+

OID Header

+ +
+
+ +
+
+ + + + +
char onlp_fan_info_s::model[ONLP_CONFIG_INFO_STR_MAX]
+
+

Model (if applicable)

+ +
+
+ +
+
+ + + + +
int onlp_fan_info_s::percentage
+
+

Current fan percentage, if available

+ +
+
+ +
+
+ + + + +
int onlp_fan_info_s::rpm
+
+

Current fan speed, in RPM, if available

+ +
+
+ +
+
+ + + + +
char onlp_fan_info_s::serial[ONLP_CONFIG_INFO_STR_MAX]
+
+

Serial Number (if applicable)

+ +
+
+
The documentation for this struct was generated from the following file:
    +
  • module/inc/onlp/fan.h
  • +
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/structonlp__generic__info__s.html b/packages/base/any/onlp/src/onlp/doc/html/structonlp__generic__info__s.html new file mode 100644 index 00000000..cd397cec --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/structonlp__generic__info__s.html @@ -0,0 +1,129 @@ + + + + + + +ONLP: onlp_generic_info_s Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
onlp_generic_info_s Struct Reference
+
+
+ +

Generic OID Information Structure. + More...

+ +

#include <generic.h>

+ + + + +

+Data Fields

onlp_oid_hdr_t hdr
 
+

Detailed Description

+

Generic OID Information Structure.

+

Field Documentation

+ +
+
+ + + + +
onlp_oid_hdr_t onlp_generic_info_s::hdr
+
+

OID Header

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/structonlp__led__info__s.html b/packages/base/any/onlp/src/onlp/doc/html/structonlp__led__info__s.html new file mode 100644 index 00000000..ee868f92 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/structonlp__led__info__s.html @@ -0,0 +1,171 @@ + + + + + + +ONLP: onlp_led_info_s Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
onlp_led_info_s Struct Reference
+
+
+ +

#include <led.h>

+ + + + + + + + + + +

+Data Fields

onlp_oid_hdr_t hdr
 
uint32_t caps
 
onlp_led_mode_t mode
 
char character
 
+

Detailed Description

+

LED information structure.

+

Field Documentation

+ +
+
+ + + + +
uint32_t onlp_led_info_s::caps
+
+

Capabilities

+ +
+
+ +
+
+ + + + +
char onlp_led_info_s::character
+
+

Current char, if capable.

+ +
+
+ +
+
+ + + + +
onlp_oid_hdr_t onlp_led_info_s::hdr
+
+

Header

+ +
+
+ +
+
+ + + + +
onlp_led_mode_t onlp_led_info_s::mode
+
+

Current mode, if capable.

+ +
+
+
The documentation for this struct was generated from the following file:
    +
  • module/inc/onlp/led.h
  • +
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/structonlp__module__info__s.html b/packages/base/any/onlp/src/onlp/doc/html/structonlp__module__info__s.html new file mode 100644 index 00000000..2f6ba121 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/structonlp__module__info__s.html @@ -0,0 +1,129 @@ + + + + + + +ONLP: onlp_module_info_s Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
onlp_module_info_s Struct Reference
+
+
+ +

Module OID Information Structure. + More...

+ +

#include <module.h>

+ + + + +

+Data Fields

onlp_oid_hdr_t hdr
 
+

Detailed Description

+

Module OID Information Structure.

+

Field Documentation

+ +
+
+ + + + +
onlp_oid_hdr_t onlp_module_info_s::hdr
+
+

OID Header

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/structonlp__oid__hdr__s.html b/packages/base/any/onlp/src/onlp/doc/html/structonlp__oid__hdr__s.html new file mode 100644 index 00000000..400a99cf --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/structonlp__oid__hdr__s.html @@ -0,0 +1,186 @@ + + + + + + +ONLP: onlp_oid_hdr_s Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
onlp_oid_hdr_s Struct Reference
+
+
+ +

#include <oids.h>

+ + + + + + + + + + + + +

+Data Fields

onlp_oid_t id
 
onlp_oid_desc_t description
 
onlp_oid_t poid
 
onlp_oid_table_t coids
 
onlp_oid_status_flags_t status
 
+

Detailed Description

+

All OID objects contain this header as the first member.

+

Field Documentation

+ +
+
+ + + + +
onlp_oid_table_t onlp_oid_hdr_s::coids
+
+

The children of this OID

+ +
+
+ +
+
+ + + + +
onlp_oid_desc_t onlp_oid_hdr_s::description
+
+

The description of this object.

+ +
+
+ +
+
+ + + + +
onlp_oid_t onlp_oid_hdr_s::id
+
+

The OID

+ +
+
+ +
+
+ + + + +
onlp_oid_t onlp_oid_hdr_s::poid
+
+

The parent OID of this object.

+ +
+
+ +
+
+ + + + +
onlp_oid_status_flags_t onlp_oid_hdr_s::status
+
+

The current status (if applicable)

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/structonlp__psu__info__t.html b/packages/base/any/onlp/src/onlp/doc/html/structonlp__psu__info__t.html new file mode 100644 index 00000000..fca28984 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/structonlp__psu__info__t.html @@ -0,0 +1,276 @@ + + + + + + +ONLP: onlp_psu_info_t Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
onlp_psu_info_t Struct Reference
+
+
+ +

#include <psu.h>

+ + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

onlp_oid_hdr_t hdr
 
char model [ONLP_CONFIG_INFO_STR_MAX]
 
char serial [ONLP_CONFIG_INFO_STR_MAX]
 
uint32_t caps
 
onlp_psu_type_t type
 
int mvin
 
int mvout
 
int miin
 
int miout
 
int mpin
 
int mpout
 
+

Detailed Description

+

PSU Information Structure

+

Field Documentation

+ +
+
+ + + + +
uint32_t onlp_psu_info_t::caps
+
+

Capabilities

+ +
+
+ +
+
+ + + + +
onlp_oid_hdr_t onlp_psu_info_t::hdr
+
+

OID Header

+ +
+
+ +
+
+ + + + +
int onlp_psu_info_t::miin
+
+

milliamps in

+ +
+
+ +
+
+ + + + +
int onlp_psu_info_t::miout
+
+

milliamps out

+ +
+
+ +
+
+ + + + +
char onlp_psu_info_t::model[ONLP_CONFIG_INFO_STR_MAX]
+
+

Model

+ +
+
+ +
+
+ + + + +
int onlp_psu_info_t::mpin
+
+

milliwatts in

+ +
+
+ +
+
+ + + + +
int onlp_psu_info_t::mpout
+
+

milliwatts out

+ +
+
+ +
+
+ + + + +
int onlp_psu_info_t::mvin
+
+

millivolts in

+ +
+
+ +
+
+ + + + +
int onlp_psu_info_t::mvout
+
+

millivolts out

+ +
+
+ +
+
+ + + + +
char onlp_psu_info_t::serial[ONLP_CONFIG_INFO_STR_MAX]
+
+

Serial Number

+ +
+
+ +
+
+ + + + +
onlp_psu_type_t onlp_psu_info_t::type
+
+

Type

+ +
+
+
The documentation for this struct was generated from the following file:
    +
  • module/inc/onlp/psu.h
  • +
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/structonlp__sfp__info__t.html b/packages/base/any/onlp/src/onlp/doc/html/structonlp__sfp__info__t.html new file mode 100644 index 00000000..880c35ad --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/structonlp__sfp__info__t.html @@ -0,0 +1,233 @@ + + + + + + +ONLP: onlp_sfp_info_t Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
onlp_sfp_info_t Struct Reference
+
+
+ +

#include <sfp.h>

+ + + + + + + + + + + + + + + + + + + +

+Data Fields

onlp_oid_hdr_t hdr
 
onlp_sfp_type_t type
 
uint32_t controls
 
sff_info_t sff
 
sff_dom_info_t dom
 
struct {
   uint8_t   a0 [ONLP_SFP_BLOCK_DATA_SIZE]
 
   uint8_t   a2 [ONLP_SFP_BLOCK_DATA_SIZE]
 
bytes
 
+

Detailed Description

+

SFP Information Structure.

+

Field Documentation

+ +
+
+ + + + +
uint8_t onlp_sfp_info_t::a0[ONLP_SFP_BLOCK_DATA_SIZE]
+
+

The last A0 data

+ +
+
+ +
+
+ + + + +
uint8_t onlp_sfp_info_t::a2[ONLP_SFP_BLOCK_DATA_SIZE]
+
+

The last A2 data (for SFP+ only)

+ +
+
+ +
+
+ + + + +
struct { ... } onlp_sfp_info_t::bytes
+
+

The raw data upon which the meta info is based.

+ +
+
+ +
+
+ + + + +
uint32_t onlp_sfp_info_t::controls
+
+

The SFP Control Status

+ +
+
+ +
+
+ + + + +
sff_dom_info_t onlp_sfp_info_t::dom
+
+

The SFF Diagnostics information.

+ +
+
+ +
+
+ + + + +
onlp_oid_hdr_t onlp_sfp_info_t::hdr
+
+

OID Header

+ +
+
+ +
+
+ + + + +
sff_info_t onlp_sfp_info_t::sff
+
+

The SFF Parse of the idprom. The parse is valid if sff.sfp_type != INVALID.

+

Note that the vendor, model, and serial will likely be populated correctly event if the rest of the data could not be parsed correctly.

+ +
+
+ +
+
+ + + + +
onlp_sfp_type_t onlp_sfp_info_t::type
+
+

SFP Connector Type

+ +
+
+
The documentation for this struct was generated from the following file:
    +
  • module/inc/onlp/sfp.h
  • +
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/structonlp__thermal__info__s.html b/packages/base/any/onlp/src/onlp/doc/html/structonlp__thermal__info__s.html new file mode 100644 index 00000000..717be55a --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/structonlp__thermal__info__s.html @@ -0,0 +1,217 @@ + + + + + + +ONLP: onlp_thermal_info_s Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
onlp_thermal_info_s Struct Reference
+
+
+ +

#include <thermal.h>

+ + + + + + + + + + + + + + + + + +

+Data Fields

onlp_oid_hdr_t hdr
 
uint32_t caps
 
int mcelsius
 
struct {
   int   warning
 
   int   error
 
   int   shutdown
 
thresholds
 
+

Detailed Description

+

Thermal sensor information structure.

+

Field Documentation

+ +
+
+ + + + +
uint32_t onlp_thermal_info_s::caps
+
+

Capabilities

+ +
+
+ +
+
+ + + + +
int onlp_thermal_info_s::error
+
+

Error temperature threshold in milli-celsius

+ +
+
+ +
+
+ + + + +
onlp_oid_hdr_t onlp_thermal_info_s::hdr
+
+

OID Header

+ +
+
+ +
+
+ + + + +
int onlp_thermal_info_s::mcelsius
+
+

Current temperature in milli-celsius

+ +
+
+ +
+
+ + + + +
int onlp_thermal_info_s::shutdown
+
+

System shutdown temperature threshold in milli-celsius

+ +
+
+ +
+
+ + + + +
struct { ... } onlp_thermal_info_s::thresholds
+
+

Thermal Thresholds

+ +
+
+ +
+
+ + + + +
int onlp_thermal_info_s::warning
+
+

Warning temperature threshold in milli-celsius

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/sync_off.png b/packages/base/any/onlp/src/onlp/doc/html/sync_off.png new file mode 100644 index 00000000..3b443fc6 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/sync_off.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/sync_on.png b/packages/base/any/onlp/src/onlp/doc/html/sync_on.png new file mode 100644 index 00000000..e08320fb Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/sync_on.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/tab_a.png b/packages/base/any/onlp/src/onlp/doc/html/tab_a.png new file mode 100644 index 00000000..3b725c41 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/tab_a.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/tab_b.png b/packages/base/any/onlp/src/onlp/doc/html/tab_b.png new file mode 100644 index 00000000..e2b4a863 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/tab_b.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/tab_h.png b/packages/base/any/onlp/src/onlp/doc/html/tab_h.png new file mode 100644 index 00000000..fd5cb705 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/tab_h.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/tab_s.png b/packages/base/any/onlp/src/onlp/doc/html/tab_s.png new file mode 100644 index 00000000..ab478c95 Binary files /dev/null and b/packages/base/any/onlp/src/onlp/doc/html/tab_s.png differ diff --git a/packages/base/any/onlp/src/onlp/doc/html/tabs.css b/packages/base/any/onlp/src/onlp/doc/html/tabs.css new file mode 100644 index 00000000..9cf578f2 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/packages/base/any/onlp/src/onlp/doc/html/thermal_8h.html b/packages/base/any/onlp/src/onlp/doc/html/thermal_8h.html new file mode 100644 index 00000000..e0f9f7e3 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/thermal_8h.html @@ -0,0 +1,217 @@ + + + + + + +ONLP: module/inc/onlp/thermal.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
thermal.h File Reference
+
+
+ +

Thermal Sensor Management. +More...

+
#include <onlp/onlp_config.h>
+#include <onlp/onlp.h>
+#include <onlp/oids.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  onlp_thermal_info_s
 
+ + + + + + + + + + + + + +

+Macros

#define ONLP_THERMAL_CAPS_ALL   0xF
 
#define ONLP_THERMAL_CAPS_GET_ANY_THRESHOLD
 
#define ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS
 
#define ONLP_THERMAL_INFO_CAP_IS_SET(_pinfo, _name)   ((_pinfo)->caps & ONLP_THERMAL_CAPS_##_name)
 
#define ONLP_THERMAL_CAPS_VALID(_e)   (onlp_thermal_caps_valid((_e)))
 
#define ONLP_THERMAL_THRESHOLD_VALID(_e)   (onlp_thermal_threshold_valid((_e)))
 
+ + + + + + + +

+Typedefs

typedef enum onlp_thermal_caps_e onlp_thermal_caps_t
 
typedef enum
+onlp_thermal_threshold_e 
onlp_thermal_threshold_t
 
typedef struct onlp_thermal_info_s onlp_thermal_info_t
 
+ + + + + +

+Enumerations

enum  onlp_thermal_caps_e { ONLP_THERMAL_CAPS_GET_TEMPERATURE = (1 << 0), +ONLP_THERMAL_CAPS_GET_WARNING_THRESHOLD = (1 << 1), +ONLP_THERMAL_CAPS_GET_ERROR_THRESHOLD = (1 << 2), +ONLP_THERMAL_CAPS_GET_SHUTDOWN_THRESHOLD = (1 << 3) + }
 
enum  onlp_thermal_threshold_e { ONLP_THERMAL_THRESHOLD_WARNING_DEFAULT = 45000, +ONLP_THERMAL_THRESHOLD_ERROR_DEFAULT = 55000, +ONLP_THERMAL_THRESHOLD_SHUTDOWN_DEFAULT = 60000 + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+int onlp_thermal_sw_init (void)
 Software initialization of the thermal module.
 
int onlp_thermal_hw_init (uint32_t flags)
 Hardware initialization of the thermal module. More...
 
int onlp_thermal_sw_denit (void)
 Deinitialize the thermal software module. More...
 
int onlp_thermal_hdr_get (onlp_oid_t oid, onlp_oid_hdr_t *rv)
 Retrieve the thermal's oid header. More...
 
int onlp_thermal_info_get (onlp_oid_t oid, onlp_thermal_info_t *rv)
 Retrieve information about the given thermal id. More...
 
int onlp_thermal_info_to_json (onlp_thermal_info_t *info, cJSON **rv, uint32_t flags)
 Convert a thermal info structure to json. More...
 
int onlp_thermal_info_from_json (cJSON *cj, onlp_thermal_info_t *info)
 Convert a JSON object to a thermal info structure. More...
 
int onlp_thermal_info_to_user_json (onlp_thermal_info_t *info, cJSON **rv, uint32_t flags)
 Convert a thermal info structure to user json. More...
 
const char * onlp_thermal_caps_name (onlp_thermal_caps_t e)
 
int onlp_thermal_caps_value (const char *str, onlp_thermal_caps_t *e, int substr)
 
const char * onlp_thermal_caps_desc (onlp_thermal_caps_t e)
 
int onlp_thermal_caps_valid (onlp_thermal_caps_t e)
 
const char * onlp_thermal_threshold_name (onlp_thermal_threshold_t e)
 
int onlp_thermal_threshold_value (const char *str, onlp_thermal_threshold_t *e, int substr)
 
const char * onlp_thermal_threshold_desc (onlp_thermal_threshold_t e)
 
int onlp_thermal_threshold_valid (onlp_thermal_threshold_t e)
 
+ + + + + + + + + +

+Variables

aim_map_si_t onlp_thermal_caps_map []
 
aim_map_si_t onlp_thermal_caps_desc_map []
 
aim_map_si_t onlp_thermal_threshold_map []
 
aim_map_si_t onlp_thermal_threshold_desc_map []
 
+

Detailed Description

+

Thermal Sensor Management.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/thermal_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/thermal_8h_source.html new file mode 100644 index 00000000..d82561c8 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/thermal_8h_source.html @@ -0,0 +1,269 @@ + + + + + + +ONLP: module/inc/onlp/thermal.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thermal.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
28 #ifndef __ONLP_THERMAL_H__
+
29 #define __ONLP_THERMAL_H__
+
30 
+
31 #include <onlp/onlp_config.h>
+
32 #include <onlp/onlp.h>
+
33 #include <onlp/oids.h>
+
34 
+
35 /* <auto.start.enum(tag:thermal).define> */
+
37 typedef enum onlp_thermal_caps_e {
+
38  ONLP_THERMAL_CAPS_GET_TEMPERATURE = (1 << 0),
+
39  ONLP_THERMAL_CAPS_GET_WARNING_THRESHOLD = (1 << 1),
+
40  ONLP_THERMAL_CAPS_GET_ERROR_THRESHOLD = (1 << 2),
+
41  ONLP_THERMAL_CAPS_GET_SHUTDOWN_THRESHOLD = (1 << 3),
+ +
43 
+ +
46  ONLP_THERMAL_THRESHOLD_WARNING_DEFAULT = 45000,
+
47  ONLP_THERMAL_THRESHOLD_ERROR_DEFAULT = 55000,
+
48  ONLP_THERMAL_THRESHOLD_SHUTDOWN_DEFAULT = 60000,
+ +
50 /* <auto.end.enum(tag:thermal).define> */
+
51 
+
55 #define ONLP_THERMAL_CAPS_ALL 0xF
+
56 
+
60 #define ONLP_THERMAL_CAPS_GET_ANY_THRESHOLD \
+
61  ( ONLP_THERMAL_CAPS_GET_WARNING_THRESHOLD | \
+
62  ONLP_THERMAL_CAPS_GET_ERROR_THRESHOLD | \
+
63  ONLP_THERMAL_CAPS_GET_SHUTDOWN_THRESHOLD )
+
64 
+
68 #define ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS \
+
69  { ONLP_THERMAL_THRESHOLD_WARNING_DEFAULT, \
+
70  ONLP_THERMAL_THRESHOLD_ERROR_DEFAULT, \
+
71  ONLP_THERMAL_THRESHOLD_SHUTDOWN_DEFAULT }
+
72 
+
76 typedef struct onlp_thermal_info_s {
+
77 
+ +
80 
+
82  uint32_t caps;
+
83 
+
85  int mcelsius;
+
86 
+
88  struct {
+
90  int warning;
+
91 
+
93  int error;
+
94 
+
96  int shutdown;
+
97  } thresholds;
+
98 
+ +
100 
+
101 
+
105 #define ONLP_THERMAL_INFO_CAP_IS_SET(_pinfo, _name) \
+
106  ((_pinfo)->caps & ONLP_THERMAL_CAPS_##_name)
+
107 
+
111 int onlp_thermal_sw_init(void);
+
112 
+
117 int onlp_thermal_hw_init(uint32_t flags);
+
118 
+
125 int onlp_thermal_sw_denit(void);
+
126 
+
132 int onlp_thermal_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* rv);
+
133 
+
139 int onlp_thermal_info_get(onlp_oid_t oid, onlp_thermal_info_t* rv);
+
140 
+
147 int onlp_thermal_info_to_json(onlp_thermal_info_t* info, cJSON** rv, uint32_t flags);
+
148 
+
149 
+ +
156 
+
164 int onlp_thermal_info_to_user_json(onlp_thermal_info_t* info, cJSON** rv, uint32_t flags);
+
165 
+
166 
+
167 
+
168 /******************************************************************************
+
169  *
+
170  * Enumeration Support Definitions.
+
171  *
+
172  * Please do not add additional code beyond this point.
+
173  *
+
174  *****************************************************************************/
+
175 /* <auto.start.enum(tag:thermal).supportheader> */
+ +
178 
+
180 int onlp_thermal_caps_value(const char* str, onlp_thermal_caps_t* e, int substr);
+
181 
+ +
184 
+ +
187 
+
189 #define ONLP_THERMAL_CAPS_VALID(_e) \
+
190  (onlp_thermal_caps_valid((_e)))
+
191 
+
193 extern aim_map_si_t onlp_thermal_caps_map[];
+
195 extern aim_map_si_t onlp_thermal_caps_desc_map[];
+
196 
+ +
199 
+
201 int onlp_thermal_threshold_value(const char* str, onlp_thermal_threshold_t* e, int substr);
+
202 
+ +
205 
+ +
208 
+
210 #define ONLP_THERMAL_THRESHOLD_VALID(_e) \
+
211  (onlp_thermal_threshold_valid((_e)))
+
212 
+
214 extern aim_map_si_t onlp_thermal_threshold_map[];
+
216 extern aim_map_si_t onlp_thermal_threshold_desc_map[];
+
217 /* <auto.end.enum(tag:thermal).supportheader> */
+
218 
+
219 #endif /* __ONLP_THERMAL_H__ */
+
220 /* @} */
+
onlp Configuration Header
+
int onlp_thermal_sw_init(void)
Software initialization of the thermal module.
+
Definition: thermal.h:76
+
onlp_thermal_caps_e
Definition: thermal.h:37
+
int onlp_thermal_caps_value(const char *str, onlp_thermal_caps_t *e, int substr)
+
int warning
Definition: thermal.h:90
+
aim_map_si_t onlp_thermal_caps_map[]
+
struct onlp_thermal_info_s::@1 thresholds
+
int onlp_thermal_sw_denit(void)
Deinitialize the thermal software module.
+
int error
Definition: thermal.h:93
+
uint32_t caps
Definition: thermal.h:82
+
const char * onlp_thermal_threshold_desc(onlp_thermal_threshold_t e)
+
const char * onlp_thermal_threshold_name(onlp_thermal_threshold_t e)
+
int onlp_thermal_threshold_valid(onlp_thermal_threshold_t e)
+
int onlp_thermal_info_get(onlp_oid_t oid, onlp_thermal_info_t *rv)
Retrieve information about the given thermal id.
+
onlp_thermal_threshold_e
Definition: thermal.h:45
+
int onlp_thermal_info_to_json(onlp_thermal_info_t *info, cJSON **rv, uint32_t flags)
Convert a thermal info structure to json.
+
int shutdown
Definition: thermal.h:96
+
onlp_oid_hdr_t hdr
Definition: thermal.h:79
+
const char * onlp_thermal_caps_name(onlp_thermal_caps_t e)
+
int onlp_thermal_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t *rv)
Retrieve the thermal's oid header.
+
int onlp_thermal_caps_valid(onlp_thermal_caps_t e)
+
int onlp_thermal_hw_init(uint32_t flags)
Hardware initialization of the thermal module.
+
aim_map_si_t onlp_thermal_threshold_desc_map[]
+
struct onlp_thermal_info_s onlp_thermal_info_t
+
enum onlp_thermal_caps_e onlp_thermal_caps_t
+
int onlp_thermal_info_to_user_json(onlp_thermal_info_t *info, cJSON **rv, uint32_t flags)
Convert a thermal info structure to user json.
+
enum onlp_thermal_threshold_e onlp_thermal_threshold_t
+
const char * onlp_thermal_caps_desc(onlp_thermal_caps_t e)
+
int mcelsius
Definition: thermal.h:85
+
int onlp_thermal_threshold_value(const char *str, onlp_thermal_threshold_t *e, int substr)
+
Definition: oids.h:212
+
aim_map_si_t onlp_thermal_threshold_map[]
+
int onlp_thermal_info_from_json(cJSON *cj, onlp_thermal_info_t *info)
Convert a JSON object to a thermal info structure.
+
aim_map_si_t onlp_thermal_caps_desc_map[]
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/thermali_8h.html b/packages/base/any/onlp/src/onlp/doc/html/thermali_8h.html new file mode 100644 index 00000000..0b85e6a6 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/thermali_8h.html @@ -0,0 +1,140 @@ + + + + + + +ONLP: module/inc/onlp/platformi/thermali.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
thermali.h File Reference
+
+
+ +

Thermal Sensor Platform Implementation. +More...

+
#include <onlp/thermal.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Macros

#define ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, _parent)
 
#define ONLP_CHASSIS_THERMAL_INFO_ENTRY_INIT(_id, _desc)   ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, ONLP_OID_CHASSIS)
 
#define ONLP_PSU_THERMAL_INFO_ENTRY_INIT(_id, _desc, _psu_id)   ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, ONLP_PSU_ID_CREATE(_psu_id))
 
+ + + + + + + + + + + + + + + + +

+Functions

+int onlp_thermali_sw_init (void)
 Software initialization of the Thermal module.
 
int onlp_thermali_hw_init (uint32_t flags)
 Hardware initialization of the Thermal module. More...
 
int onlp_thermali_sw_denit (void)
 Deinitialize the thermal software module. More...
 
int onlp_thermali_hdr_get (onlp_oid_id_t id, onlp_oid_hdr_t *rv)
 Retrieve the thermal's oid header. More...
 
int onlp_thermali_info_get (onlp_oid_id_t id, onlp_thermal_info_t *rv)
 Get the information for the given thermal OID. More...
 
+

Detailed Description

+

Thermal Sensor Platform Implementation.

+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/doc/html/thermali_8h_source.html b/packages/base/any/onlp/src/onlp/doc/html/thermali_8h_source.html new file mode 100644 index 00000000..a1c4f4c7 --- /dev/null +++ b/packages/base/any/onlp/src/onlp/doc/html/thermali_8h_source.html @@ -0,0 +1,162 @@ + + + + + + +ONLP: module/inc/onlp/platformi/thermali.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ONLP +
+
Open Network Linux Platform APIs
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thermali.h
+
+
+Go to the documentation of this file.
1 /************************************************************
+
2  * <bsn.cl fy=2014 v=onl>
+
3  *
+
4  * Copyright 2014, 2015 Big Switch Networks, Inc.
+
5  *
+
6  * Licensed under the Eclipse Public License, Version 1.0 (the
+
7  * "License"); you may not use this file except in compliance
+
8  * with the License. You may obtain a copy of the License at
+
9  *
+
10  * http://www.eclipse.org/legal/epl-v10.html
+
11  *
+
12  * Unless required by applicable law or agreed to in writing,
+
13  * software distributed under the License is distributed on an
+
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+
15  * either express or implied. See the License for the specific
+
16  * language governing permissions and limitations under the
+
17  * License.
+
18  *
+
19  * </bsn.cl>
+
20  ********************************************************/
+
28 #ifndef __ONLP_THERMALI_H__
+
29 #define __ONLP_THERMALI_H__
+
30 
+
31 #include <onlp/thermal.h>
+
32 
+
36 int onlp_thermali_sw_init(void);
+
37 
+
42 int onlp_thermali_hw_init(uint32_t flags);
+
43 
+
50 int onlp_thermali_sw_denit(void);
+
51 
+
57 int onlp_thermali_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* rv);
+
58 
+
64 int onlp_thermali_info_get(onlp_oid_id_t id, onlp_thermal_info_t* rv);
+
65 
+
70 #define ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, _parent) \
+
71  { \
+
72  { \
+
73  .id = ONLP_THERMAL_ID_CREATE(_id), \
+
74  .description = _desc, \
+
75  .poid = ONLP_OID_CHASSIS, \
+
76  .status = ONLP_OID_STATUS_FLAG_PRESENT, \
+
77  }, \
+
78  .caps = ONLP_THERMAL_CAPS_ALL, \
+
79  }
+
80 
+
85 #define ONLP_CHASSIS_THERMAL_INFO_ENTRY_INIT(_id, _desc) \
+
86  ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, ONLP_OID_CHASSIS)
+
87 
+
92 #define ONLP_PSU_THERMAL_INFO_ENTRY_INIT(_id, _desc, _psu_id) \
+
93  ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, ONLP_PSU_ID_CREATE(_psu_id))
+
94 
+
95 #endif /* __ONLP_THERMALI_H__ */
+
96 /* @} */
+
int onlp_thermali_sw_denit(void)
Deinitialize the thermal software module.
+
Definition: thermal.h:76
+
int onlp_thermali_sw_init(void)
Software initialization of the Thermal module.
+
Thermal Sensor Management.
+
int onlp_thermali_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t *rv)
Retrieve the thermal's oid header.
+
int onlp_thermali_info_get(onlp_oid_id_t id, onlp_thermal_info_t *rv)
Get the information for the given thermal OID.
+
int onlp_thermali_hw_init(uint32_t flags)
Hardware initialization of the Thermal module.
+
Definition: oids.h:212
+
+ + + + diff --git a/packages/base/any/onlp/src/onlp/module/auto/onlp.yml b/packages/base/any/onlp/src/onlp/module/auto/onlp.yml index 0fc16437..3fa69e27 100644 --- a/packages/base/any/onlp/src/onlp/module/auto/onlp.yml +++ b/packages/base/any/onlp/src/onlp/module/auto/onlp.yml @@ -119,33 +119,11 @@ oid_status: &oid_status - OPERATIONAL - UNPLUGGED -# OID Output Format -oid_format_types: &oid_format_types -- JSON -- YAML -- USER -- DEBUG - -# OID Output Flags -oid_format_flags: &oid_format_flags -- RECURSIVE -- MISSING - -# OID dump options -oid_dump: &oid_dump -- RECURSE -- EVEN_IF_ABSENT - -# OID show options -oid_show: &oid_show -- RECURSE -- EXTENDED -- YAML - # OID JSON Flags oid_json_flags: &oid_json_flags - RECURSIVE - UNSUPPORTED_FIELDS +- TO_USER_JSON # SFP Control sfp_control: &sfp_controls @@ -269,24 +247,6 @@ definitions: members: *oid_status flags: True - onlp_oid_format: - tag: oid - members: *oid_format_types - - onlp_oid_format_flags: - tag: oid - members: *oid_format_flags - flags: True - - onlp_oid_show: - tag: oid - members: *oid_show - flags: True - - onlp_oid_dump: - tag: oid - members: *oid_dump - onlp_oid_json_flag: tag: oid members: *oid_json_flags @@ -364,7 +324,7 @@ definitions: ONLP_ASSET_INFO_ENTRY: members: - - manufacturer, Manufacture, str + - manufacturer, Manufacturer, str - date, Date, str - part_number, Part Number, str - serial_number, Serial Number, str diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/attribute.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/attribute.h index 29739e43..5411f0cb 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/attribute.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/attribute.h @@ -36,8 +36,17 @@ /** * @brief Initialize the attribute subsystem. + * @note This function can only perform software module initialization. + * It cannot affect the state of the hardware. */ int onlp_attribute_sw_init(void); + +/** + * @brief Hardware initialization of the attribute subsystem. + * @param flags The initialization flags. + * @note This function will be called once at system startup + * by the ONLP core. You should not call it. + */ int onlp_attribute_hw_init(uint32_t flags); /** @@ -79,14 +88,16 @@ int onlp_attribute_free(onlp_oid_t oid, const char* attribute, void* value); /****************************************************************************** * - * These functions facilitate access to standard attributes. + * These functions provide access to standard ONIE and Asset attributes. + * These are so common that they have their own interface for + * for both the user and the platform implementations. * *****************************************************************************/ - /** * @brief Request the ONIE attribute. * @param oid The target OID. * @param [out] rp Receives the ONIE information structure pointer. + * @note Setting rp to NULL will determine if the ONIE attribute is supported. */ int onlp_attribute_onie_info_get(onlp_oid_t oid, onlp_onie_info_t** rp); @@ -109,13 +120,27 @@ int onlp_attribute_onie_info_get_json(onlp_oid_t oid, cJSON** rp); * @brief Show the ONIE attribute. * @param oid The target OID. * @param pvs The output pvs. + * @note The output is YAML in human-readble format. */ int onlp_attribute_onie_info_show(onlp_oid_t oid, aim_pvs_t* pvs); +/** + * @brief Show the ONIE attribute (JSON) + * @param oid The target OID. + * @param pvs The output pvs. + */ +int onlp_attribute_onie_info_show_json(onlp_oid_t oid, aim_pvs_t* pvs); + +/** + * @brief Determine if the ONIE attribute is supported. + * @param oid The target OID. + * @note Retu + */ /** * @brief Request the asset attribute. * @param oid The target oid. * @param [out] rp Receives the Asset information structure pointer. + * @note Setting rp to NULL will determine if the attribute is supported. */ int onlp_attribute_asset_info_get(onlp_oid_t oid, onlp_asset_info_t** rp); @@ -138,8 +163,16 @@ int onlp_attribute_asset_info_get_json(onlp_oid_t oid, cJSON** rp); * @brief Show the asset attribute. * @param oid The target oid. * @param pvs The output pvs. + * @note The output format is YAML in human-readable format. */ int onlp_attribute_asset_info_show(onlp_oid_t oid, aim_pvs_t* pvs); +/** + * @brief Show the asset attribute (JSON). + * @param oid The target oid. + * @param pvs The output pvs. + */ +int onlp_attribute_asset_info_show_json(onlp_oid_t oid, aim_pvs_t* pvs); + #endif /* __ONLP_ATTRIBUTE_H__ */ /* @} */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/chassis.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/chassis.h index 7b5e4a81..44272f7e 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/chassis.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/chassis.h @@ -88,32 +88,67 @@ int onlp_chassis_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* hdr); int onlp_chassis_info_get(onlp_oid_t oid, onlp_chassis_info_t* info); /** - * @brief Format a chassis oid. - * @param oid The chassis oid. - * @param format The output format. - * @param pvs The output pvs. - * @param flags The output flags. + * @brief Convert a chassis info structure to user JSON. + * @param info The chassis info structure. + * @param [out] cj Receives the JSON object. + * @param flags The JSON format flags. */ -int onlp_chassis_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); +int onlp_chassis_info_to_user_json(onlp_chassis_info_t* info, cJSON** cj, uint32_t flags); + +/** + * @brief Convert a chassis info structure to JSON. + * @param info The chassis info structure. + * @param [out] cj Receives the JSON object. + * @param flags The JSON format flags. + */ +int onlp_chassis_info_to_json(onlp_chassis_info_t* info, cJSON** cj, uint32_t flags); + +/** + * @brief Convert a JSON object to a chassis info structure. + * @param cj The JSON object. + * @param [out] info Receives the chassis info. + */ +int onlp_chassis_info_from_json(cJSON* cj, onlp_chassis_info_t* info); + +/****************************************************************************** + * + * Standard Chassis Features + * + *****************************************************************************/ + +/** + * @brief Get the user or full environmental json data. + * @param [out] cjp Receives the JSON data. + * @param flags Zero or ONLP_OID_JSON_FLAG_TO_USER_JSON only. + * @note This will provide the user view of the environmental data + + * with keys in the following order: + * Chassis Fans + * Chassis Thermals + * Chassis PSUs + */ +int onlp_chassis_environment_to_json(cJSON** cjp, uint32_t flags); /** - * @brief Format a chassis info structure. - * @param info The chassis info structure. - * @param format The output format. + * @brief Show the environmental data. * @param pvs The output pvs. - * @param flags The output flags. + * @param flags Zero or ONLP_OID_JSON_FLAG_TO_USER_JSON only. + * @note See onlp_chassis_environment_to_json() */ -int onlp_chassis_info_format(onlp_chassis_info_t* info, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); +int onlp_chassis_environment_show(aim_pvs_t* pvs, uint32_t flags); -int onlp_chassis_info_to_user_json(onlp_chassis_info_t* info, cJSON** rv, uint32_t flags); -int onlp_chassis_info_to_json(onlp_chassis_info_t* info, cJSON** rv, uint32_t flags); -int onlp_chassis_info_from_json(cJSON* cj, onlp_chassis_info_t* info); +/** + * @brief Construct the Chassis debug JSON object. + * @param [out] rv Receives the JSON object. + */ +int onlp_chassis_debug_get_json(cJSON** rv); - -int onlp_chassis_environment(aim_pvs_t* pvs); +/** + * @brief Show the Chassis debug information. +`* @param pvs The output pvs. + */ +int onlp_chassis_debug_show(aim_pvs_t* pvs); #endif /* __ONLP_CHASSIS_H_ */ /* @} */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/fan.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/fan.h index f6d5c3ea..2fa8f5cc 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/fan.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/fan.h @@ -82,6 +82,9 @@ typedef struct onlp_fan_info_s { } onlp_fan_info_t; +/** + * @brief Determine if a fan capability is set. + */ #define ONLP_FAN_INFO_CAP_IS_SET(_pinfo, _name) \ ((_pinfo)->caps & ONLP_FAN_CAPS_##_name) @@ -118,27 +121,6 @@ int onlp_fan_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* hdr); */ int onlp_fan_info_get(onlp_oid_t id, onlp_fan_info_t* rv); - -/** - * @brief Format a fan oid. - * @param oid The fan oid. - * @param format The output format. - * @param pvs The output pvs. - * @param flags The output flags. - */ -int onlp_fan_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); - -/** - * @brief Format a fan information structure. - * @param info The fan information structure. - * @param format The output format. - * @param pvs The output pvs. - * @param flags The output flags. - */ -int onlp_fan_info_format(onlp_fan_info_t* info, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); - /** * @brief Set the fan speed in RPMs. * @param id The fan OID. @@ -163,6 +145,31 @@ int onlp_fan_percentage_set(onlp_oid_t id, int p); */ int onlp_fan_dir_set(onlp_oid_t id, onlp_fan_dir_t dir); +/** + * @brief Convert a fan info structure to user JSON. + * @param info The fan info structure. + * @param [out] cj Receives the JSON object. + * @param flags The JSON format flags. + */ +int onlp_fan_info_to_user_json(onlp_fan_info_t* info, cJSON** cj, + uint32_t flags); + +/** + * @brief Convert a fan info structure to JSON. + * @param info The fan info structure. + * @param [out] cj Receives the JSON object. + * @param flags The JSON format flags. + */ +int onlp_fan_info_to_json(onlp_fan_info_t* info, cJSON** cj, uint32_t flags); + +/** + * @brief Convert a JSON object to a fan info structure. + * @param cj The JSON object. + * @param [out] info Recieves the fan info structure. + */ +int onlp_fan_info_from_json(cJSON* cj, onlp_fan_info_t* info); + + /** Fan is present. */ #define ONLP_FAN_STATUS_PRESENT(_fi) ((_fi).hdr.status & ONLP_OID_STATUS.PRESENT) @@ -176,15 +183,6 @@ int onlp_fan_dir_set(onlp_oid_t id, onlp_fan_dir_t dir); #define ONLP_FAN_STATUS_NORMAL(_fi) ( ONLP_FAN_STATUS_PRESENT(_fi) && !ONLP_FAN_STATUS_FAILED(_fi) ) - - -int onlp_fan_info_to_user_json(onlp_fan_info_t* info, cJSON** cj, - uint32_t flags); - -int onlp_fan_info_to_json(onlp_fan_info_t* info, cJSON** cj, uint32_t flags); -int onlp_fan_info_from_json(cJSON* cj, onlp_fan_info_t* info); - - /****************************************************************************** * * Enumeration Support Definitions. diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/generic.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/generic.h index be4a8c82..a92d1d3a 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/generic.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/generic.h @@ -82,28 +82,26 @@ int onlp_generic_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* hdr); int onlp_generic_info_get(onlp_oid_t oid, onlp_generic_info_t* info); /** - * @brief Format a Generic OID. - * @param oid The generic oid. - * @param format The output format. - * @param pvs The output pvs. - * @param flags The output flags. + * @brief Convert a generic info structure to user JSON. + * @param info The generic info structure. + * @param [out] cj Receives the JSON object. + * @param flags The JSON format flags. */ -int onlp_generic_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); +int onlp_generic_info_to_user_json(onlp_generic_info_t* info, cJSON** cj, uint32_t flags); /** - * @brief Format a generic information structure. + * @brief Convert a generic info structure to JSON. * @param info The generic info structure. - * @param format The output format. - * @param pvs The output pvs. - * @param flags The output flags. + * @param [out] cj Receives the JSON object. + * @param flags The JSON format flags. */ -int onlp_generic_info_format(onlp_generic_info_t* info, - onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); +int onlp_generic_info_to_json(onlp_generic_info_t* info, cJSON** cj, uint32_t flags); -int onlp_generic_info_to_user_json(onlp_generic_info_t* info, cJSON** rv, uint32_t flags); -int onlp_generic_info_to_json(onlp_generic_info_t* info, cJSON** rv, uint32_t flags); +/** + * @brief Convert a JSON object to a generic info structure. + * @param cj The JSON object. + * @param [out] info Receives the generic info structure. + */ int onlp_generic_info_from_json(cJSON* cj, onlp_generic_info_t* info); #endif /* __ONLP_GENERIC_H_ */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/led.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/led.h index ca587f78..176dbb65 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/led.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/led.h @@ -125,28 +125,6 @@ int onlp_led_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* rv); */ int onlp_led_info_get(onlp_oid_t id, onlp_led_info_t* rv); - -/** - * @brief Format an LED OID. - * @param oid The OID. - * @param format The output format. - * @param pvs The output pvs. - * @param flags The output flags. - */ -int onlp_led_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); - -/** - * @brief Format an LED information structure. - * @param info The information structure. - * @param format The output format. - * @param pvs The output pvs. - * @param flags The output flags. - */ -int onlp_led_info_format(onlp_led_info_t* info, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); - - /** * @brief Set the LED color * @param id The LED OID @@ -164,8 +142,27 @@ int onlp_led_mode_set(onlp_oid_t id, onlp_led_mode_t mode); */ int onlp_led_char_set(onlp_oid_t id, char c); -int onlp_led_info_to_user_json(onlp_led_info_t* info, cJSON** rv, uint32_t flags); -int onlp_led_info_to_json(onlp_led_info_t* info, cJSON** rv, uint32_t flags); +/** + * @brief Convert an LED info structure to user JSON. + * @param info The LED info structure. + * @param [out] cj Receives the JSON object. + * @param flags The JSON format flags. + */ +int onlp_led_info_to_user_json(onlp_led_info_t* info, cJSON** cj, uint32_t flags); + +/** + * @brief Convert an LED info structure to JSON. + * @param info The LED info structure. + * @param [out] cj Receives the JSON object. + * @param flags The JSON format flags. + */ +int onlp_led_info_to_json(onlp_led_info_t* info, cJSON** cj, uint32_t flags); + +/** + * @brief Convert a JSON object to an LED info structure. + * @param cj The JSON oibject. + * @param [out] info Receives the LED info structure. + */ int onlp_led_info_from_json(cJSON* cj, onlp_led_info_t* info); /****************************************************************************** diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/module.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/module.h index b08caa84..54e21b10 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/module.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/module.h @@ -67,7 +67,7 @@ int onlp_module_hw_init(uint32_t flags); */ int onlp_module_sw_denit(void); -/* +/** * @brief Get the module header structure. * @param oid The Module oid. * @param[out] hdr Receives the header. @@ -81,14 +81,27 @@ int onlp_module_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* hdr); */ int onlp_module_info_get(onlp_oid_t oid, onlp_module_info_t* info); -int onlp_module_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); - -int onlp_module_info_format(onlp_module_info_t* info, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); - +/** + * @brief Convert a module info structure to user JSON. + * @param info The module info structure. + * @param [out] rv Receives the JSON object. + * @param flags The JSON format flags. + */ int onlp_module_info_to_user_json(onlp_module_info_t* info, cJSON** rv, uint32_t flags); + +/** + * @brief Convert a module info structure to JSON. + * @param info The module info structure. + * @param [out] rv Receives the JSON object. + * @param flags The JSON format flags. + */ int onlp_module_info_to_json(onlp_module_info_t* info, cJSON** rv, uint32_t flags); + +/** + * @brief Convert a JSON object to a module info structure. + * @param cj The JSON object. + * @param [out] info Receives the module info structure. + */ int onlp_module_info_from_json(cJSON* cj, onlp_module_info_t* info); #endif /* __ONLP_MODULE_H_ */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/oids.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/oids.h index 85b7351b..a57bb478 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/oids.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/oids.h @@ -47,47 +47,16 @@ */ typedef uint32_t onlp_oid_t; +typedef uint32_t onlp_oid_id_t; /* */ -/** onlp_oid_dump */ -typedef enum onlp_oid_dump_e { - ONLP_OID_DUMP_RECURSE, - ONLP_OID_DUMP_EVEN_IF_ABSENT, - ONLP_OID_DUMP_LAST = ONLP_OID_DUMP_EVEN_IF_ABSENT, - ONLP_OID_DUMP_COUNT, - ONLP_OID_DUMP_INVALID = -1, -} onlp_oid_dump_t; - -/** onlp_oid_format */ -typedef enum onlp_oid_format_e { - ONLP_OID_FORMAT_JSON, - ONLP_OID_FORMAT_YAML, - ONLP_OID_FORMAT_USER, - ONLP_OID_FORMAT_DEBUG, - ONLP_OID_FORMAT_LAST = ONLP_OID_FORMAT_DEBUG, - ONLP_OID_FORMAT_COUNT, - ONLP_OID_FORMAT_INVALID = -1, -} onlp_oid_format_t; - -/** onlp_oid_format_flags */ -typedef enum onlp_oid_format_flags_e { - ONLP_OID_FORMAT_FLAGS_RECURSIVE = (1 << 0), - ONLP_OID_FORMAT_FLAGS_MISSING = (1 << 1), -} onlp_oid_format_flags_t; - /** onlp_oid_json_flag */ typedef enum onlp_oid_json_flag_e { ONLP_OID_JSON_FLAG_RECURSIVE = (1 << 0), ONLP_OID_JSON_FLAG_UNSUPPORTED_FIELDS = (1 << 1), + ONLP_OID_JSON_FLAG_TO_USER_JSON = (1 << 2), } onlp_oid_json_flag_t; -/** onlp_oid_show */ -typedef enum onlp_oid_show_e { - ONLP_OID_SHOW_RECURSE = (1 << 0), - ONLP_OID_SHOW_EXTENDED = (1 << 1), - ONLP_OID_SHOW_YAML = (1 << 2), -} onlp_oid_show_t; - /** onlp_oid_status_flag */ typedef enum onlp_oid_status_flag_e { ONLP_OID_STATUS_FLAG_PRESENT = (1 << 0), @@ -138,20 +107,32 @@ typedef uint32_t onlp_oid_status_flags_t; #define ONLP_OID_TYPE_CREATE(_type, _id) ( ( (_type) << 24) | (_id)) #define ONLP_OID_IS_TYPE(_type,_id) (ONLP_OID_TYPE_GET((_id)) == _type) #define ONLP_OID_ID_GET(_id) (_id & 0xFFFFFF) -#define ONLP_OID_TYPE_VALIDATE(_type, _id) \ +#define ONLP_OID_TYPE_VALIDATE(_type, _oid) \ do { \ - if(!ONLP_OID_IS_TYPE(_type, _id)) { \ + if(!ONLP_OID_IS_TYPE(_type, _oid)) { \ return ONLP_STATUS_E_PARAM; \ } \ - } while(0) +} while(0) -#define ONLP_OID_TYPE_VALIDATE_NR(_type, _id) \ +#define ONLP_OID_TYPE_VALIDATE_NR(_type, _oid) \ do { \ - if(!ONLP_OID_IS_TYPE(_type, _id)) { \ + if(!ONLP_OID_IS_TYPE(_type, _oid)) { \ return; \ } \ } while(0) +#define ONLP_OID_TYPE_VALIDATE_GET_ID(_type, _oid, _id) \ + do { \ + ONLP_OID_TYPE_VALIDATE(_type, _oid); \ + _id = ONLP_OID_ID_GET(_oid); \ + } while(0) + +#define ONLP_OID_TYPE_VALIDATE_GET_ID_NR(_type, _oid, _id) \ + do { \ + ONLP_OID_TYPE_VALIDATE_NR(_type, _oid); \ + _id = ONLP_OID_ID_GET(_oid); \ + } + #define ONLP_OID_IS_TYPE_FLAGS(_flags, _id) ((_flags & (1 << ONLP_OID_TYPE_GET(_id)))) #define ONLP_OID_IS_TYPE_FLAGSZ(_flags, _id) ((_flags == 0) || ONLP_OID_IS_TYPE_FLAGS(_flags, _id)) @@ -170,6 +151,8 @@ typedef uint32_t onlp_oid_status_flags_t; #define ONLP_OID_IS_THERMAL(_id) ONLP_OID_IS_TYPE(ONLP_OID_TYPE_THERMAL, _id) #define ONLP_OID_THERMAL_VALIDATE(_id) ONLP_OID_TYPE_VALIDATE(ONLP_OID_TYPE_THERMAL, _id) #define ONLP_OID_THERMAL_VALIDATE_NR(_id) ONLP_OID_TYPE_VALIDATE_NR(ONLP_OID_TYPE_THERMAL, _id) +#define ONLP_OID_THERMAL_VALIDATE_GET_ID(_oid, _id) ONLP_OID_TYPE_VALIDATE_GET_ID(ONLP_OID_TYPE_THERMAL, _oid, _id) +#define ONLP_OID_THERMAL_VALIDATE_GET_ID_NR(_oid, _id) ONLP_OID_TYPE_VALIDATE_GET_ID_NR(ONLP_OID_TYPE_THERMAL, _oid, _id) #define ONLP_OID_IS_FAN(_id) ONLP_OID_IS_TYPE(ONLP_OID_TYPE_FAN, _id) #define ONLP_OID_FAN_VALIDATE(_id) ONLP_OID_TYPE_VALIDATE(ONLP_OID_TYPE_FAN, _id) @@ -256,14 +239,6 @@ int onlp_oid_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* hdr); */ int onlp_oid_info_get(onlp_oid_t oid, onlp_oid_hdr_t** info); -int onlp_oid_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); - -int onlp_oid_info_format(onlp_oid_hdr_t* info, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); - -int onlp_oid_table_format(onlp_oid_table_t table, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); /** * Iterator @@ -284,19 +259,9 @@ int onlp_oid_iterate(onlp_oid_t oid, onlp_oid_type_flags_t types, int onlp_oid_info_get_all(onlp_oid_t root, onlp_oid_type_flags_t types, uint32_t flags, biglist_t** list); -int onlp_oid_info_format_all(onlp_oid_t root, onlp_oid_type_flags_t types, - uint32_t get_flags, - onlp_oid_format_t format, aim_pvs_t* pvs, - uint32_t format_flags); - int onlp_oid_hdr_get_all(onlp_oid_t root, onlp_oid_type_flags_t types, uint32_t flags, biglist_t** list); -int onlp_oid_hdr_format_all(onlp_oid_t root, onlp_oid_type_flags_t types, - uint32_t get_flags, - onlp_oid_format_t format, aim_pvs_t* pvs, - uint32_t format_flags); - int onlp_oid_get_all_free(biglist_t* list); /** @@ -308,8 +273,8 @@ int onlp_oid_get_all_free(biglist_t* list); #define ONLP_OID_STATUS_FLAG_GET_VALUE(_ptr, _name) \ AIM_FLAG_GET_VALUE(ONLP_OID_STATUS_FLAGS_GET(_ptr), ONLP_OID_STATUS_FLAG_##_name) -#define ONLP_OID_STATUS_FLAG_SET_VALUE(_ptr, _name) \ - AIM_FLAG_SET_VALUE(ONLP_OID_STATUS_FLAGS_GET(_ptr), ONLP_OID_STATUS_FLAG_##_name) +#define ONLP_OID_STATUS_FLAG_SET_VALUE(_ptr, _name, _value) \ + AIM_FLAG_SET_VALUE(ONLP_OID_STATUS_FLAGS_GET(_ptr), ONLP_OID_STATUS_FLAG_##_name, _value) #define ONLP_OID_STATUS_FLAG_SET(_ptr, _name) \ AIM_FLAG_SET(ONLP_OID_STATUS_FLAGS_GET(_ptr), ONLP_OID_STATUS_FLAG_##_name) @@ -426,77 +391,6 @@ int onlp_oid_json_verify(onlp_oid_t oid); * *****************************************************************************/ /* */ -/** Strings macro. */ -#define ONLP_OID_DUMP_STRINGS \ -{\ - "RECURSE", \ - "EVEN_IF_ABSENT", \ -} -/** Enum names. */ -const char* onlp_oid_dump_name(onlp_oid_dump_t e); - -/** Enum values. */ -int onlp_oid_dump_value(const char* str, onlp_oid_dump_t* e, int substr); - -/** Enum descriptions. */ -const char* onlp_oid_dump_desc(onlp_oid_dump_t e); - -/** validator */ -#define ONLP_OID_DUMP_VALID(_e) \ - ( (0 <= (_e)) && ((_e) <= ONLP_OID_DUMP_EVEN_IF_ABSENT)) - -/** onlp_oid_dump_map table. */ -extern aim_map_si_t onlp_oid_dump_map[]; -/** onlp_oid_dump_desc_map table. */ -extern aim_map_si_t onlp_oid_dump_desc_map[]; - -/** Strings macro. */ -#define ONLP_OID_FORMAT_STRINGS \ -{\ - "JSON", \ - "YAML", \ - "USER", \ - "DEBUG", \ -} -/** Enum names. */ -const char* onlp_oid_format_name(onlp_oid_format_t e); - -/** Enum values. */ -int onlp_oid_format_value(const char* str, onlp_oid_format_t* e, int substr); - -/** Enum descriptions. */ -const char* onlp_oid_format_desc(onlp_oid_format_t e); - -/** validator */ -#define ONLP_OID_FORMAT_VALID(_e) \ - ( (0 <= (_e)) && ((_e) <= ONLP_OID_FORMAT_DEBUG)) - -/** onlp_oid_format_map table. */ -extern aim_map_si_t onlp_oid_format_map[]; -/** onlp_oid_format_desc_map table. */ -extern aim_map_si_t onlp_oid_format_desc_map[]; - -/** Enum names. */ -const char* onlp_oid_format_flags_name(onlp_oid_format_flags_t e); - -/** Enum values. */ -int onlp_oid_format_flags_value(const char* str, onlp_oid_format_flags_t* e, int substr); - -/** Enum descriptions. */ -const char* onlp_oid_format_flags_desc(onlp_oid_format_flags_t e); - -/** Enum validator. */ -int onlp_oid_format_flags_valid(onlp_oid_format_flags_t e); - -/** validator */ -#define ONLP_OID_FORMAT_FLAGS_VALID(_e) \ - (onlp_oid_format_flags_valid((_e))) - -/** onlp_oid_format_flags_map table. */ -extern aim_map_si_t onlp_oid_format_flags_map[]; -/** onlp_oid_format_flags_desc_map table. */ -extern aim_map_si_t onlp_oid_format_flags_desc_map[]; - /** Enum names. */ const char* onlp_oid_json_flag_name(onlp_oid_json_flag_t e); @@ -518,27 +412,6 @@ extern aim_map_si_t onlp_oid_json_flag_map[]; /** onlp_oid_json_flag_desc_map table. */ extern aim_map_si_t onlp_oid_json_flag_desc_map[]; -/** Enum names. */ -const char* onlp_oid_show_name(onlp_oid_show_t e); - -/** Enum values. */ -int onlp_oid_show_value(const char* str, onlp_oid_show_t* e, int substr); - -/** Enum descriptions. */ -const char* onlp_oid_show_desc(onlp_oid_show_t e); - -/** Enum validator. */ -int onlp_oid_show_valid(onlp_oid_show_t e); - -/** validator */ -#define ONLP_OID_SHOW_VALID(_e) \ - (onlp_oid_show_valid((_e))) - -/** onlp_oid_show_map table. */ -extern aim_map_si_t onlp_oid_show_map[]; -/** onlp_oid_show_desc_map table. */ -extern aim_map_si_t onlp_oid_show_desc_map[]; - /** Enum names. */ const char* onlp_oid_status_flag_name(onlp_oid_status_flag_t e); diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/onlp.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/onlp.h index 8379b57f..4e304c57 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/onlp.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/onlp.h @@ -63,6 +63,16 @@ typedef enum onlp_status_e { } \ } while(0) +#define ONLP_SUPPORTED(_rv) \ + (ONLP_SUCCESS(_rv) || !ONLP_UNSUPPORTED(_rv)) + +#define ONLP_RETURN_IF_SUPPORTED(_expr) \ + do { \ + int _rv = _expr; \ + if(ONLP_SUPPORTED(_rv)) { \ + return _rv; \ + } \ + } while(0) /** * @brief Initialize all subsystems. diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/onlp.x b/packages/base/any/onlp/src/onlp/module/inc/onlp/onlp.x index 4641f336..958308c8 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/onlp.x +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/onlp.x @@ -28,7 +28,7 @@ /* */ #ifdef ONLP_ASSET_INFO_ENTRY -ONLP_ASSET_INFO_ENTRY(manufacturer, Manufacture, str) +ONLP_ASSET_INFO_ENTRY(manufacturer, Manufacturer, str) ONLP_ASSET_INFO_ENTRY(date, Date, str) ONLP_ASSET_INFO_ENTRY(part_number, Part Number, str) ONLP_ASSET_INFO_ENTRY(serial_number, Serial Number, str) @@ -61,11 +61,7 @@ ONLP_ENUMERATION_ENTRY(onlp_fan_dir, "") ONLP_ENUMERATION_ENTRY(onlp_led_caps, "") ONLP_ENUMERATION_ENTRY(onlp_led_mode, "") ONLP_ENUMERATION_ENTRY(onlp_log_flag, "") -ONLP_ENUMERATION_ENTRY(onlp_oid_dump, "") -ONLP_ENUMERATION_ENTRY(onlp_oid_format, "") -ONLP_ENUMERATION_ENTRY(onlp_oid_format_flags, "") ONLP_ENUMERATION_ENTRY(onlp_oid_json_flag, "") -ONLP_ENUMERATION_ENTRY(onlp_oid_show, "") ONLP_ENUMERATION_ENTRY(onlp_oid_status_flag, "") ONLP_ENUMERATION_ENTRY(onlp_oid_type, "") ONLP_ENUMERATION_ENTRY(onlp_oid_type_flag, "") diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/attributei.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/attributei.h index 69ee8002..07ea7022 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/attributei.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/attributei.h @@ -43,7 +43,7 @@ int onlp_attributei_hw_init(uint32_t flags); * @param oid The OID. * @param attribute The attribute name. */ -int onlp_attributei_supported(onlp_oid_t id, const char* attribute); +int onlp_attributei_supported(onlp_oid_t oid, const char* attribute); /** * @brief Set an attribute on the given OID. @@ -59,7 +59,7 @@ int onlp_attributei_set(onlp_oid_t oid, const char* attribute, void* value); * @param attribute The attribute to retrieve. * @param[out] value Receives the attributei's value. */ -int onlp_attributei_get(onlp_oid_t id, const char* attribute, +int onlp_attributei_get(onlp_oid_t oid, const char* attribute, void** value); /** @@ -68,7 +68,26 @@ int onlp_attributei_get(onlp_oid_t id, const char* attribute, * @param attribute The attribute. * @param value The value. */ -int onlp_attributei_free(onlp_oid_t id, const char* attribute, void* value); +int onlp_attributei_free(onlp_oid_t oid, const char* attribute, void* value); +/** + * Access to standard attributes. + */ + +/** + * @brief Get an OID's ONIE attribute. + * @param oid The target OID + * @param rv [out] Receives the ONIE information if supported. + * @note if rv is NULL you should only return whether the attribute is supported. + */ +int onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rv); + +/** + * @brief Get an OID's Asset attribute. + * @param oid The target OID. + * @param rv [out] Receives the Asset information if supported. + * @note if rv is NULL you should only return whether the attribute is supported. + */ +int onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rv); #endif /* __ONLP_ATTRIBUTEI_H__ */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/base.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/base.h index 87470784..271b91a9 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/base.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/base.h @@ -27,4 +27,14 @@ #include #include + +#define ONLP_OID_INFO_ASSIGN(_id, _array, _ptr) \ + do { \ + if(_id <= 0 || _id >= AIM_ARRAYSIZE(_array)) { \ + AIM_LOG_ERROR("size=%d id=%d", AIM_ARRAYSIZE(_array), _id); \ + return ONLP_STATUS_E_PARAM; \ + } \ + (*_ptr) = _array[_id]; \ + } while(0) + #endif /* __ONLP_PLATFORMI_COMMON_H__ */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/chassisi.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/chassisi.h index 93b33920..3e1870c0 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/chassisi.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/chassisi.h @@ -52,17 +52,17 @@ int onlp_chassisi_sw_denit(void); /** * @brief Get the chassis hdr structure. - * @param oid The Chassis OID. + * @param id The Chassis OID. * @param[out] hdr Receives the header. */ -int onlp_chassisi_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* hdr); +int onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr); /** * @brief Get the chassis info structure. - * @param oid The Chassis OID. + * @param id The Chassis OID. * @param[out] info Receives the chassis information. */ -int onlp_chassisi_info_get(onlp_oid_t oid, onlp_chassis_info_t* info); +int onlp_chassisi_info_get(onlp_oid_id_t id, onlp_chassis_info_t* info); #endif /* __ONLP_CHASSISI_H__ */ /* @} */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/fani.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/fani.h index 3e99c42e..6bb1fffa 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/fani.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/fani.h @@ -54,14 +54,14 @@ int onlp_fani_sw_denit(void); * @param id The fan OID. * @param[out] hdr Receives the OID header. */ -int onlp_fani_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* hdr); +int onlp_fani_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr); /** * @brief Get the information structure for the given fan OID. * @param id The fan OID * @param[out] rv Receives the fan information. */ -int onlp_fani_info_get(onlp_oid_t id, onlp_fan_info_t* rv); +int onlp_fani_info_get(onlp_oid_id_t id, onlp_fan_info_t* rv); /** * @brief Set the fan speed in RPM. @@ -69,7 +69,7 @@ int onlp_fani_info_get(onlp_oid_t id, onlp_fan_info_t* rv); * @param rpm The new RPM * @note This is only relevant if the RPM capability is set. */ -int onlp_fani_rpm_set(onlp_oid_t id, int rpm); +int onlp_fani_rpm_set(onlp_oid_id_t id, int rpm); /** @@ -78,14 +78,14 @@ int onlp_fani_rpm_set(onlp_oid_t id, int rpm); * @param p The new fan speed percentage. * @note This is only relevant if the PERCENTAGE capability is set. */ -int onlp_fani_percentage_set(onlp_oid_t id, int p); +int onlp_fani_percentage_set(onlp_oid_id_t id, int p); /** * @brief Set the fan direction (if supported). * @param id The fan OID * @param dir The direction. */ -int onlp_fani_dir_set(onlp_oid_t id, onlp_fan_dir_t dir); +int onlp_fani_dir_set(onlp_oid_id_t id, onlp_fan_dir_t dir); #endif /* __ONLP_FANI_H__ */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/ledi.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/ledi.h index 3ab6e916..53132c41 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/ledi.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/ledi.h @@ -51,14 +51,14 @@ int onlp_ledi_sw_denit(void); * @param id The LED OID * @param[out] rv Receives the header. */ -int onlp_ledi_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* rv); +int onlp_ledi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* rv); /** * @brief Get the information for the given LED * @param id The LED OID * @param[out] rv Receives the LED information. */ -int onlp_ledi_info_get(onlp_oid_t id, onlp_led_info_t* rv); +int onlp_ledi_info_get(onlp_oid_id_t id, onlp_led_info_t* rv); /** * @brief Set the LED mode. @@ -66,7 +66,7 @@ int onlp_ledi_info_get(onlp_oid_t id, onlp_led_info_t* rv); * @param mode The new mode. * @notes Only called if the mode is advertised in the LED capabilities. */ -int onlp_ledi_mode_set(onlp_oid_t id, onlp_led_mode_t mode); +int onlp_ledi_mode_set(onlp_oid_id_t id, onlp_led_mode_t mode); /** * @brief Set the LED character. @@ -74,6 +74,23 @@ int onlp_ledi_mode_set(onlp_oid_t id, onlp_led_mode_t mode); * @param c The character.. * @notes Only called if the char capability is set. */ -int onlp_ledi_char_set(onlp_oid_t id, char c); +int onlp_ledi_char_set(onlp_oid_id_t id, char c); + +#define ONLP_LED_INFO_ENTRY_INIT(_id, _desc, _parent, _caps) \ + { \ + { \ + .id = ONLP_LED_ID_CREATE(_id), \ + .description = _desc, \ + .poid = ONLP_OID_CHASSIS, \ + .status = ONLP_OID_STATUS_FLAG_PRESENT, \ + }, \ + .caps = _caps, \ + } + +#define ONLP_CHASSIS_LED_INFO_ENTRY_INIT(_id, _desc, _caps) \ + ONLP_LED_INFO_ENTRY_INIT(_id, _desc, ONLP_OID_CHASSIS, _caps) + +#define ONLP_PSU_LED_INFO_ENTRY_INIT(_id, _desc, _psu_id, _caps) \ + ONLP_LED_INFO_ENTRY_INIT(_id, _desc, ONLP_PSU_ID_CREATE(_psu_id), _caps) #endif /* __ONLP_LED_H__ */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/psui.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/psui.h index 6b1dd9ea..d3203e9f 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/psui.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/psui.h @@ -54,15 +54,27 @@ int onlp_psui_sw_denit(void); * @param id The PSU OID. * @param[out] rv Receives the header. */ -int onlp_psui_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* rv); +int onlp_psui_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* rv); /** * @brief Get the information structure for the given PSU * @param id The PSU OID * @param[out] rv Receives the PSU information. */ -int onlp_psui_info_get(onlp_oid_t id, onlp_psu_info_t* rv); +int onlp_psui_info_get(onlp_oid_id_t id, onlp_psu_info_t* rv); +/** + * @brief Initialize a static PSU info structure. + */ +#define ONLP_CHASSIS_PSU_INFO_ENTRY_INIT(_id, _desc) \ + { \ + { \ + .id = _id, \ + .description = _desc, \ + .poid = ONLP_OID_CHASSIS, \ + }, \ + } + #endif /* __ONLP_PSUI_H__ */ /* @} */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/sfpi.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/sfpi.h index d267a524..a98b6d77 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/sfpi.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/sfpi.h @@ -63,19 +63,19 @@ int onlp_sfpi_bitmap_get(onlp_sfp_bitmap_t* bmap); /** * @brief Determine the SFP connector type. - * @param port The SFP Port ID. - * @param[out] Receives the connector type. + * @param id The SFP Port ID. + * @param[out] rtype Receives the connector type. */ -int onlp_sfpi_type_get(int port, onlp_sfp_type_t* rtype); +int onlp_sfpi_type_get(onlp_oid_id_t id, onlp_sfp_type_t* rtype); /** * @brief Determine if an SFP is present. - * @param port The SFP Port ID. + * @param id The SFP Port ID. * @returns 1 if present * @returns 0 if absent * @returns An error condition. */ -int onlp_sfpi_is_present(int port); +int onlp_sfpi_is_present(onlp_oid_id_t id); /** * @brief Return the presence bitmap for all SFP ports. @@ -92,134 +92,124 @@ int onlp_sfpi_rx_los_bitmap_get(onlp_sfp_bitmap_t* dst); /** * @brief Read bytes from the target device on the given SFP port. - * @param port The SFP Port ID. + * @param id The SFP Port ID. * @param devaddr The device address. * @param addr Read offset. * @param[out] dst Receives the data. * @param len Read length. * @returns The number of bytes read or ONLP_STATUS_E_* no error. */ -int onlp_sfpi_dev_read(int port, int devaddr, int addr, +int onlp_sfpi_dev_read(onlp_oid_id_t id, int devaddr, int addr, uint8_t* dst, int len); /** * @brief Write bytes to the target device on the given SFP port. - * @param port The SFP Port ID. + * @param id The SFP Port ID. * @param devaddr The device address. + * @param addr Write offset. * @param src The bytes to write. - * @param offset Write offset. * @param len Write length. */ -int onlp_sfpi_dev_write(int port, int devaddr, int addr, +int onlp_sfpi_dev_write(onlp_oid_id_t id, int devaddr, int addr, uint8_t* src, int len); /** * @brief Read a byte from the target device on the given SFP port. - * @param port The SFP Port ID. + * @param id The SFP Port ID. * @param devaddr The device address. * @param addr The read address. * @returns The byte on success or ONLP_STATUS_E* on error. */ -int onlp_sfpi_dev_readb(int port, int devaddr, int addr); +int onlp_sfpi_dev_readb(onlp_oid_id_t id, int devaddr, int addr); /** * @brief Write a byte to the target device on the given SFP port. - * @param port The SFP Port ID. + * @param id The SFP Port ID. * @param devaddr The device address. * @param addr The write address. * @param value The write value. */ -int onlp_sfpi_dev_writeb(int port, int devaddr, int addr, +int onlp_sfpi_dev_writeb(onlp_oid_id_t id, int devaddr, int addr, uint8_t value); /** * @brief Read a word from the target device on the given SFP port. - * @param port The SFP Port ID. + * @param id The SFP Port ID. * @param devaddr The device address. * @param addr The read address. * @returns The word if successful, ONLP_STATUS_E* on error. */ -int onlp_sfpi_dev_readw(int port, int devaddr, int addr); +int onlp_sfpi_dev_readw(onlp_oid_id_t id, int devaddr, int addr); /** * @brief Write a word to the target device on the given SFP port. - * @param port The SFP Port ID. + * @param id The SFP Port ID. * @param devaddr The device address. * @param addr The write address. * @param value The write value. */ -int onlp_sfpi_dev_writew(int port, int devaddr, int addr, +int onlp_sfpi_dev_writew(onlp_oid_id_t id, int devaddr, int addr, uint16_t value); /** * @brief Perform any actions required after an SFP is inserted. - * @param port The SFP Port ID. + * @param id The SFP Port ID. * @param info The SFF Module information structure. * @note This function is optional. If your platform must * adjust equalizer or preemphasis settings internally then * this function should be implemented as the trigger. */ -int onlp_sfpi_post_insert(int port, sff_info_t* info); +int onlp_sfpi_post_insert(onlp_oid_id_t id, sff_info_t* info); /** * @brief Returns whether or not the given control is supported on the given port. - * @param port The SFP Port ID. + * @param id The SFP Port ID. * @param control The control. * @param[out] rv Receives 1 if supported, 0 if not supported. * @note This provided for convenience and is optional. * If you implement this function your control_set and control_get APIs * will not be called on unsupported ports. */ -int onlp_sfpi_control_supported(int port, +int onlp_sfpi_control_supported(onlp_oid_id_t id, onlp_sfp_control_t control, int* rv); /** * @brief Set an SFP control. - * @param port The SFP Port ID. + * @param id The SFP Port ID. * @param control The control. * @param value The value. */ -int onlp_sfpi_control_set(int port, onlp_sfp_control_t control, +int onlp_sfpi_control_set(onlp_oid_id_t id, onlp_sfp_control_t control, int value); /** * @brief Get an SFP control. - * @param port The SFP Port ID. + * @param id The SFP Port ID. * @param control The control * @param[out] value Receives the current value. */ -int onlp_sfpi_control_get(int port, onlp_sfp_control_t control, +int onlp_sfpi_control_get(onlp_oid_id_t id, onlp_sfp_control_t control, int* value); /** * @brief Remap SFP user SFP port numbers before calling the SFPI interface. - * @param port The SFP Port ID. + * @param id The SFP Port ID. * @param[out] rport Receives the new port. * @note This function will be called to remap the user SFP port number * to the number returned in rport before the SFPI functions are called. * This is an optional convenience for platforms with dynamic or * variant physical SFP numbering. */ -int onlp_sfpi_port_map(int port, int* rport); +int onlp_sfpi_port_map(onlp_oid_id_t id, int* rport); /** * @brief Get the SFP's OID header. - * @param oid The SFP oid. - * @param hdr Receives the header. + * @param id The SFP oid. + * @param [out] hdr Receives the header. */ -int onlp_sfpi_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* rhdr); - -/** - * @brief GEt the SFP's info structure. - * @param oid The SFP oid. - * @param info Receives the SFP information. - * @note It is not normally necessary to implement this function. - * The upper layer implements this on behalf of the platform - * using the existing SFP primitives. - */ -int onlp_sfpi_info_get(onlp_oid_t oid, onlp_sfp_info_t* info); +int onlp_sfpi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr); #endif /* __ONLP_SFPI_H__ */ /* @} */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/thermali.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/thermali.h index 282e568f..83183b33 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/thermali.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/thermali.h @@ -54,14 +54,43 @@ int onlp_thermali_sw_denit(void); * @param id The thermal oid. * @param[out] rv Receives the header. */ -int onlp_thermali_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* rv); +int onlp_thermali_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* rv); /** * @brief Get the information for the given thermal OID. * @param id The Thermal OID * @param[out] rv Receives the thermal information. */ -int onlp_thermali_info_get(onlp_oid_t id, onlp_thermal_info_t* rv); +int onlp_thermali_info_get(onlp_oid_id_t id, onlp_thermal_info_t* rv); + +/** + * This macro should be used in your implementation to declare + * your static chassis thermal sensors. + */ +#define ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, _parent) \ + { \ + { \ + .id = ONLP_THERMAL_ID_CREATE(_id), \ + .description = _desc, \ + .poid = ONLP_OID_CHASSIS, \ + .status = ONLP_OID_STATUS_FLAG_PRESENT, \ + }, \ + .caps = ONLP_THERMAL_CAPS_ALL, \ + } + +/** + * This macro should be used to statically initialize a chassis + * thermal info structure. + */ +#define ONLP_CHASSIS_THERMAL_INFO_ENTRY_INIT(_id, _desc) \ + ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, ONLP_OID_CHASSIS) + +/** + * This macro should be used to statically initialize a PSU + * thermal info structure. + */ +#define ONLP_PSU_THERMAL_INFO_ENTRY_INIT(_id, _desc, _psu_id) \ + ONLP_THERMAL_INFO_ENTRY_INIT(_id, _desc, ONLP_PSU_ID_CREATE(_psu_id)) #endif /* __ONLP_THERMALI_H__ */ /* @} */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/psu.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/psu.h index dcdc6363..26e646c8 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/psu.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/psu.h @@ -95,6 +95,9 @@ typedef struct onlp_psu_info_t { } onlp_psu_info_t; +/** + * Determine if a PSU capability is set. + */ #define ONLP_PSU_INFO_CAP_IS_SET(_pinfo, _name) \ ((_pinfo)->caps & ONLP_PSU_CAPS_##_name) @@ -132,29 +135,26 @@ int onlp_psu_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* rv); int onlp_psu_info_get(onlp_oid_t id, onlp_psu_info_t* rv); /** - * @brief Format the given PSU OID. - * @param id The PSU OID - * @param format The output format. - * @param pvs The output pvs - * @param flags The output flags + * @brief Convert a PSU info structure to user JSON. + * @param info The PSU info structure + * @param [out] cj Receives the JSON object. + * @param flags The JSON format flags. */ -int onlp_psu_format(onlp_oid_t id, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); +int onlp_psu_info_to_user_json(onlp_psu_info_t* info, cJSON** cj, uint32_t flags); /** - * @brief Format the given PSU information structure. - * @param info The information structure. - * @param format The output format. - * @param pvs The output pvs. - * @param flags The output flags. + * @brief Convert a PSU info structure to JSON. + * @param info The PSU info structure + * @param [out] cj Receives the JSON object. + * @param flags The JSON format flags. */ -int onlp_psu_info_format(onlp_psu_info_t* info, - onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); +int onlp_psu_info_to_json(onlp_psu_info_t* info, cJSON** cj, uint32_t flags); - -int onlp_psu_info_to_user_json(onlp_psu_info_t* info, cJSON** rv, uint32_t flags); -int onlp_psu_info_to_json(onlp_psu_info_t* info, cJSON** rv, uint32_t flags); +/** + * @brief Convert a JSON object to a PSU info structure. + * @param cj The JSON object. + * @param [out] info Receives the PSU info structure. + */ int onlp_psu_info_from_json(cJSON* cj, onlp_psu_info_t* info); diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/sfp.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/sfp.h index 2d6fa803..ce1df2cf 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/sfp.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/sfp.h @@ -243,6 +243,19 @@ int onlp_sfp_rx_los_bitmap_get(onlp_sfp_bitmap_t* dst); int onlp_sfp_dev_read(onlp_oid_t port, int devaddr, int addr, uint8_t* dst, int count); +/** + * @brief Read bytes from the target device on the given SFP port. + * @param port The SFP OID or Port ID. + * @param devaddr The device address. + * @param addr The start target address. + * @param count The number of bytes to read. + * @param [out] rv Receives the allocated buffer. + * @note The returned buffer must be freed after use. + */ +int onlp_sfp_dev_alloc_read(onlp_oid_t port, + int devaddr, int addr, int count, + uint8_t** rv); + /** * @brief Write bytes to the target device on the given SFP port. * @param port The SFP OID or Port ID. @@ -329,14 +342,28 @@ int onlp_sfp_control_get(onlp_oid_t port, onlp_sfp_control_t control, int onlp_sfp_control_flags_get(onlp_oid_t port, uint32_t* flags); -int onlp_sfp_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); - -int onlp_sfp_info_format(onlp_sfp_info_t* info, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); - +/** + * @brief Convert an SFP info structure to user JSON. + * @param info The SFP info structure. + * @param [out] rv Receives the JSON object. + * @param flags The JSON format flags. + */ int onlp_sfp_info_to_user_json(onlp_sfp_info_t* info, cJSON** rv, uint32_t flags); + +/** + * @brief Convert an SFP info structure to JSON. + * @param info The SFP info structure. + * @param [out] rv Receives the JSON object. + * @param flags The JSON format flags. + */ int onlp_sfp_info_to_json(onlp_sfp_info_t* info, cJSON** rv, uint32_t flags); + + +/** + * @brief Convert a JSON object to an SFP info structure. + * @param cj The JSON object. + * @param [out] info Receives the SFP info structure. + */ int onlp_sfp_info_from_json(cJSON* cj, onlp_sfp_info_t* info); /** @@ -349,8 +376,6 @@ int onlp_sfp_sw_denit(void); */ int onlp_sfp_hw_denit(void); - - /** * @brief Show the current SFP inventory. */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/stdattrs.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/stdattrs.h index 80a04f9a..fa97ab6c 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/stdattrs.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/stdattrs.h @@ -73,12 +73,6 @@ typedef struct onlp_asset_info_s { } onlp_asset_info_t; -/** - * @brief This is the attribute used when referring to the - * standard asset information structure. - */ - -#define ONLP_ATTRIBUTE_ASSET_INFO "onlp.asset_info" /** * @brief Show an asset structure. @@ -95,15 +89,7 @@ int onlp_asset_info_free(onlp_asset_info_t* aip); */ int onlp_asset_info_to_json(onlp_asset_info_t* aip, cJSON** rv); - -/** - * @brief The ONIE Information Structure can be queried - * using this attribute. - * - * This attribute returns an onlp_onie_info_t structure. - * See onlplib/onie.h - */ -#define ONLP_ATTRIBUTE_ONIE_INFO "onlp.attr.onie_info" +/* See onlplib/onie.h for the onie_info versions */ #endif /* __ONLP_STDATTRS_H__ */ /* @} */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/sys.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/sys.h deleted file mode 100644 index ce2c98a3..00000000 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/sys.h +++ /dev/null @@ -1,127 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch Networks, Inc. - * - * Licensed under the Eclipse Public License, Version 1.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.eclipse.org/legal/epl-v10.html - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific - * language governing permissions and limitations under the - * License. - * - * - ************************************************************ - * - * Platform System Information - * - ***********************************************************/ - -#ifndef __ONLP_SYS_H__ -#define __ONLP_SYS_H__ - -#include -#include -#include -#include -#include - - -typedef struct onlp_sys_info_s { - /** OID Header */ - onlp_oid_hdr_t hdr; - - /* ONIE System Information */ - onlp_onie_info_t onie_info; - - /* Platform Information */ - onlp_platform_info_t platform_info; - -} onlp_sys_info_t; - - -/** - * @brief Initialize the System API - */ -int onlp_sys_init(void); - -/** - * @brief Get the system information structure. - * @param rv [out] Receives the system information. - */ -int onlp_sys_info_get(onlp_sys_info_t* rv); - -/** - * @brief Free a system information structure. - */ -void onlp_sys_info_free(onlp_sys_info_t* info); - -/** - * @brief Get the system header. - */ -int onlp_sys_hdr_get(onlp_oid_hdr_t* hdr); - -/** - * @brief SYS OID debug dump. - * @param id The SYS OID. - * @param pvs The output pvs. - * @param flags The output flags. - * @note This output is designed for debugging. - */ -void onlp_sys_dump(onlp_oid_t id, aim_pvs_t* pvs, uint32_t flags); - -/** - * @brief Show the status of the given OID. - * @param id the SYS OID. - * @param pvs The output pvs. - * @param flags The output flags - */ -void onlp_sys_show(onlp_oid_t id, aim_pvs_t* pvs, uint32_t flags); - -/** - * @brief SYS Ioctl - * @param code The ioctl code. - * @param ... Arguments - */ -int onlp_sys_ioctl(int code, ...); - -/** - * @brief SYS Ioctl - * @param code The ioctl code. - * @param vargs arguments. - */ -int onlp_sys_vioctl(int code, va_list vargs); - -/** - * @brief Start the platform management thread. - */ -int onlp_sys_platform_manage_start(int block); - -/** - * @brief Stop the platform management thread. - */ -int onlp_sys_platform_manage_stop(int block); - -/** - * @brief Join the platform management thread. - */ -int onlp_sys_platform_manage_join(void); - -/** - * @brief Perform any pending platform management activities. - * @note A call to this function will perform any pending - * platform management activities. It is not intended to block - * for an extended period of time. - */ - -void onlp_sys_platform_manage_now(void); - -int onlp_sys_debug(aim_pvs_t* pvs, int argc, char** argv); - -#endif /* __ONLP_SYS_H_ */ diff --git a/packages/base/any/onlp/src/onlp/module/inc/onlp/thermal.h b/packages/base/any/onlp/src/onlp/module/inc/onlp/thermal.h index ee4a9727..4f4e6c8d 100644 --- a/packages/base/any/onlp/src/onlp/module/inc/onlp/thermal.h +++ b/packages/base/any/onlp/src/onlp/module/inc/onlp/thermal.h @@ -98,6 +98,10 @@ typedef struct onlp_thermal_info_s { } onlp_thermal_info_t; + +/** + * Determine if a thermal capability is set. + */ #define ONLP_THERMAL_INFO_CAP_IS_SET(_pinfo, _name) \ ((_pinfo)->caps & ONLP_THERMAL_CAPS_##_name) @@ -122,44 +126,45 @@ int onlp_thermal_sw_denit(void); /** * @brief Retrieve the thermal's oid header. - * @param id The thermal oid. + * @param oid The thermal oid. * @param[out] rv Receives the header. */ int onlp_thermal_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* rv); /** * @brief Retrieve information about the given thermal id. - * @param id The thermal oid. + * @param oid The thermal oid. * @param[out] rv Receives the thermal information. */ int onlp_thermal_info_get(onlp_oid_t oid, onlp_thermal_info_t* rv); /** - * @brief Format a thermal oid. - * @param oid The oid. - * @param format The output format. - * @param pvs The output pvs. - * @param flags The format flags. + * @brief Convert a thermal info structure to json. + * @param info The thermal info structure. + * @param [out] rv Receives the JSON object. + * @param flags The JSON processing flags. */ -int onlp_thermal_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); +int onlp_thermal_info_to_json(onlp_thermal_info_t* info, cJSON** rv, uint32_t flags); + /** - * @brief Format a thermal info structure. - * @param info The info structure. - * @param format The output format. - * @param pvs The output pvs. - * @param flags The format flags. + * @brief Convert a JSON object to a thermal info structure. + * @param cj The JSON object representing the structure. + * @param [out] info Receives the thermal info. */ -int onlp_thermal_info_format(onlp_thermal_info_t* info, - onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags); - - -int onlp_thermal_info_to_user_json(onlp_thermal_info_t* info, cJSON** rv, uint32_t flags); -int onlp_thermal_info_to_json(onlp_thermal_info_t* info, cJSON** rv, uint32_t flags); int onlp_thermal_info_from_json(cJSON* cj, onlp_thermal_info_t* info); +/** + * @brief Convert a thermal info structure to user json. + * @param info The thermal info structure. + * @param [out] rv Receives the JSON object. + * @param flags The JSON processing flags. + * @note The user json format contains only the fields relevant to user output. + */ +int onlp_thermal_info_to_user_json(onlp_thermal_info_t* info, cJSON** rv, uint32_t flags); + + + /****************************************************************************** * * Enumeration Support Definitions. diff --git a/packages/base/any/onlp/src/onlp/module/python/onlp/onlp/enums.py b/packages/base/any/onlp/src/onlp/module/python/onlp/onlp/enums.py index a8333d34..7d36dd09 100644 --- a/packages/base/any/onlp/src/onlp/module/python/onlp/onlp/enums.py +++ b/packages/base/any/onlp/src/onlp/module/python/onlp/onlp/enums.py @@ -71,32 +71,10 @@ class ONLP_LOG_FLAG(Enumeration): JSON = 0 -class ONLP_OID_DUMP(Enumeration): - RECURSE = 0 - EVEN_IF_ABSENT = 1 - - -class ONLP_OID_FORMAT(Enumeration): - JSON = 0 - YAML = 1 - USER = 2 - DEBUG = 3 - - -class ONLP_OID_FORMAT_FLAGS(Enumeration): - RECURSIVE = (1 << 0) - MISSING = (1 << 1) - - class ONLP_OID_JSON_FLAG(Enumeration): RECURSIVE = (1 << 0) UNSUPPORTED_FIELDS = (1 << 1) - - -class ONLP_OID_SHOW(Enumeration): - RECURSE = (1 << 0) - EXTENDED = (1 << 1) - YAML = (1 << 2) + TO_USER_JSON = (1 << 2) class ONLP_OID_STATUS_FLAG(Enumeration): diff --git a/packages/base/any/onlp/src/onlp/module/src/attribute.c b/packages/base/any/onlp/src/onlp/module/src/attribute.c index eb674ee2..a992c04c 100644 --- a/packages/base/any/onlp/src/onlp/module/src/attribute.c +++ b/packages/base/any/onlp/src/onlp/module/src/attribute.c @@ -105,17 +105,36 @@ ONLP_LOCKED_API3(onlp_attribute_get, onlp_oid_t, oid, const char*, attribute, vo int onlp_attribute_onie_info_get(onlp_oid_t oid, onlp_onie_info_t** rvp) { - return onlp_attribute_get(oid, - ONLP_ATTRIBUTE_ONIE_INFO, - (void**)rvp); + int rv; + onlp_onie_info_t* rp; + + rv = onlp_attributei_onie_info_get(oid, NULL); + + if(ONLP_FAILURE(rv) || rvp == NULL) { + return rv; + } + + rp = aim_zmalloc(sizeof(*rp)); + rv = onlp_attributei_onie_info_get(oid, rp); + + if(ONLP_FAILURE(rv)) { + aim_free(rp); + rp = NULL; + return rv; + } + + *rvp = rp; + return rv; } int onlp_attribute_onie_info_free(onlp_oid_t oid, onlp_onie_info_t* p) { - return onlp_attribute_free(oid, - ONLP_ATTRIBUTE_ONIE_INFO, - p); + if(p) { + onlp_onie_info_free(p); + aim_free(p); + } + return 0; } int @@ -146,20 +165,56 @@ onlp_attribute_onie_info_show(onlp_oid_t oid, aim_pvs_t* pvs) return rv; } +int +onlp_attribute_onie_info_show_json(onlp_oid_t oid, aim_pvs_t* pvs) +{ + int rv; + cJSON* cjp = NULL; + + if(ONLP_SUCCESS(rv = onlp_attribute_onie_info_get_json(oid, &cjp))) { + cjson_util_json_pvs(pvs, cjp); + cJSON_Delete(cjp); + } + else { + aim_printf(pvs, "There was an error requesting the ONIE information from %{onlp_oid}: %{onlp_status}", oid, rv); + } + return rv; +} + + int onlp_attribute_asset_info_get(onlp_oid_t oid, onlp_asset_info_t** rvp) { - return onlp_attribute_get(oid, - ONLP_ATTRIBUTE_ASSET_INFO, - (void**)rvp); + int rv; + onlp_asset_info_t* rp; + + rv = onlp_attributei_asset_info_get(oid, NULL); + + if(ONLP_FAILURE(rv) || rvp == NULL) { + return rv; + } + + rp = aim_zmalloc(sizeof(*rp)); + rv = onlp_attributei_asset_info_get(oid, rp); + + if(ONLP_FAILURE(rv)) { + aim_free(rp); + rp = NULL; + return rv; + } + + *rvp = rp; + return rv; } int onlp_attribute_asset_info_free(onlp_oid_t oid, onlp_asset_info_t* p) { - return onlp_attribute_free(oid, - ONLP_ATTRIBUTE_ASSET_INFO, - p); + if(p) { + onlp_asset_info_free(p); + aim_free(p); + } + return 0; } int @@ -189,3 +244,20 @@ onlp_attribute_asset_info_show(onlp_oid_t oid, aim_pvs_t* pvs) } return rv; } + + +int +onlp_attribute_asset_info_show_json(onlp_oid_t oid, aim_pvs_t* pvs) +{ + int rv; + cJSON* cjp = NULL; + + if(ONLP_SUCCESS(rv = onlp_attribute_asset_info_get_json(oid, &cjp))) { + cjson_util_json_pvs(pvs, cjp); + cJSON_Delete(cjp); + } + else { + aim_printf(pvs, "There was an error requesting the asset information from %{onlp_oid}: %{onlp_status}", oid, rv); + } + return rv; +} diff --git a/packages/base/any/onlp/src/onlp/module/src/chassis.c b/packages/base/any/onlp/src/onlp/module/src/chassis.c index db4e47f6..87b1027b 100644 --- a/packages/base/any/onlp/src/onlp/module/src/chassis.c +++ b/packages/base/any/onlp/src/onlp/module/src/chassis.c @@ -24,6 +24,7 @@ ***********************************************************/ #include #include +#include #include #include "onlp_log.h" #include "onlp_int.h" @@ -57,7 +58,8 @@ onlp_chassis_hdr_get_locked__(onlp_oid_t oid, onlp_oid_hdr_t* hdr) ONLP_OID_CHASSIS_VALIDATE(oid); ONLP_PTR_VALIDATE_ZERO(hdr); memset(hdr, 0, sizeof(*hdr)); - int rv = onlp_chassisi_hdr_get(oid, hdr); + int rv = onlp_chassisi_hdr_get(ONLP_OID_ID_GET(oid), hdr); + hdr->id = oid; onlp_oid_hdr_sort(hdr); return rv; } @@ -69,27 +71,14 @@ onlp_chassis_info_get_locked__(onlp_oid_t oid, onlp_chassis_info_t* cip) { ONLP_OID_CHASSIS_VALIDATE(oid); ONLP_PTR_VALIDATE_ZERO(cip); - int rv = onlp_chassisi_info_get(oid, cip); + int rv = onlp_chassisi_info_get(ONLP_OID_ID_GET(oid), cip); + cip->hdr.id = oid; onlp_oid_hdr_sort(&cip->hdr); return rv; } ONLP_LOCKED_API2(onlp_chassis_info_get,onlp_oid_t, oid, onlp_chassis_info_t*, rv); -int -onlp_chassis_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - return 0; -} - -int -onlp_chassis_info_format(onlp_chassis_info_t* info, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - return 0; -} - int onlp_chassis_info_to_user_json(onlp_chassis_info_t* info, cJSON** cjp, uint32_t flags) { @@ -115,3 +104,105 @@ onlp_chassis_info_from_json(cJSON* cj, onlp_chassis_info_t* info) memset(info, 0, sizeof(*info)); return onlp_oid_hdr_from_json(cj, &info->hdr); } + +int +onlp_chassis_environment_to_json(cJSON** cjp, uint32_t flags) +{ + int rv; + onlp_chassis_info_t ci; + onlp_oid_t* oidp; + + /** + * All flags except ONLP_OID_JSON_FLAG_TO_USER_JSON are forbidden. + */ + flags &= ONLP_OID_JSON_FLAG_TO_USER_JSON; + + rv = onlp_chassis_info_get(ONLP_OID_CHASSIS, &ci); + if(ONLP_FAILURE(rv)) { + AIM_LOG_ERROR("Error retrieving chassis information: %{onlp_error}", rv); + return rv; + } + + *cjp = cJSON_CreateObject(); + + /** All Chassis Fans */ + ONLP_OID_TABLE_ITER_TYPE(ci.hdr.coids, oidp, FAN) { + rv = onlp_oid_to_json(*oidp, cjp, flags); + if(ONLP_FAILURE(rv)) { + AIM_LOG_ERROR("onlp_oid_to_json(%{onlp_oid}) failed: %{onlp_status}", + *oidp, rv); + } + } + + /** All Chassis Thermals */ + ONLP_OID_TABLE_ITER_TYPE(ci.hdr.coids, oidp, THERMAL) { + rv = onlp_oid_to_json(*oidp, cjp, flags); + if(ONLP_FAILURE(rv)) { + AIM_LOG_ERROR("onlp_oid_to_json(%{onlp_oid}) failed: %{onlp_status}", + *oidp, rv); + } + } + + /** All PSUs with children */ + ONLP_OID_TABLE_ITER_TYPE(ci.hdr.coids, oidp, PSU) { + rv = onlp_oid_to_json(*oidp, cjp, flags | ONLP_OID_JSON_FLAG_RECURSIVE); + if(ONLP_FAILURE(rv)) { + AIM_LOG_ERROR("onlp_oid_to_json(%{onlp_oid}) failed: %{onlp_status}", + *oidp, rv); + } + } + + return rv; +} + +int +onlp_chassis_environment_show(aim_pvs_t* pvs, uint32_t flags) +{ + int rv; + cJSON* cjp = NULL; + rv = onlp_chassis_environment_to_json(&cjp, flags); + if(ONLP_FAILURE(rv) || cjp == NULL) { + aim_printf(pvs, "Error retrieving chassis environment: %{onlp_status}\n", + rv); + } + else { + cjson_util_yaml_pvs(pvs, cjp); + cJSON_Delete(cjp); + } + return rv; +} + +/** + * @brief Construct the Chassis debug JSON object. + * @param [out] rv Receives the JSON object. + */ +int +onlp_chassis_debug_get_json(cJSON** rvp) +{ + int rv; + cJSON* cj = cJSON_CreateObject(); + cJSON* onie_info, *asset_info; + + if(ONLP_SUCCESS(rv = onlp_attribute_onie_info_get_json(ONLP_OID_CHASSIS, &onie_info))) { + cJSON_AddItemToObject(cj, "ONIE Information", onie_info); + } + if(ONLP_SUCCESS(rv = onlp_attribute_asset_info_get_json(ONLP_OID_CHASSIS, &asset_info))) { + cJSON_AddItemToObject(cj, "Asset Information", asset_info); + } + rv = onlp_oid_to_json(ONLP_OID_CHASSIS, &cj, + ONLP_OID_JSON_FLAG_RECURSIVE); + *rvp = cj; + return rv; +} + +int +onlp_chassis_debug_show(aim_pvs_t* pvs) +{ + int rv; + cJSON* cjp; + if(ONLP_SUCCESS(rv = onlp_chassis_debug_get_json(&cjp))) { + cjson_util_yaml_pvs(pvs, cjp); + cJSON_Delete(cjp); + } + return rv; +} diff --git a/packages/base/any/onlp/src/onlp/module/src/fan.c b/packages/base/any/onlp/src/onlp/module/src/fan.c index 5b99e169..263bf5a1 100644 --- a/packages/base/any/onlp/src/onlp/module/src/fan.c +++ b/packages/base/any/onlp/src/onlp/module/src/fan.c @@ -134,23 +134,6 @@ onlp_fan_dir_set_locked__(onlp_oid_t id, onlp_fan_dir_t dir) ONLP_LOCKED_API2(onlp_fan_dir_set, onlp_oid_t, id, onlp_fan_dir_t, dir); -int -onlp_fan_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - return 0; -} - -int -onlp_fan_info_format(onlp_fan_info_t* info, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - aim_printf(pvs, "%{onlp_oid_hdr} dir=%{onlp_fan_dir} caps=%{onlp_fan_caps_flags} rpm=%d p=%d] model='%s' serial='%s'\n", - info, info->dir, info->caps, info->rpm, info->percentage, info->model, info->serial); - return 0; -} - - int onlp_fan_info_to_user_json(onlp_fan_info_t* info, cJSON** cjp, uint32_t flags) { diff --git a/packages/base/any/onlp/src/onlp/module/src/generic.c b/packages/base/any/onlp/src/onlp/module/src/generic.c index 74f9835d..beaabe44 100644 --- a/packages/base/any/onlp/src/onlp/module/src/generic.c +++ b/packages/base/any/onlp/src/onlp/module/src/generic.c @@ -30,21 +30,6 @@ onlp_generic_info_get(onlp_oid_t id, onlp_generic_info_t* info) return ONLP_STATUS_E_UNSUPPORTED; } -int -onlp_generic_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - return ONLP_STATUS_E_UNSUPPORTED; -} - -int -onlp_generic_info_format(onlp_generic_info_t* info, - onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - return ONLP_STATUS_E_UNSUPPORTED; -} - int onlp_generic_info_to_user_json(onlp_generic_info_t* info, cJSON** rv, uint32_t flags) { diff --git a/packages/base/any/onlp/src/onlp/module/src/led.c b/packages/base/any/onlp/src/onlp/module/src/led.c index 1eb31100..cfa3ac24 100644 --- a/packages/base/any/onlp/src/onlp/module/src/led.c +++ b/packages/base/any/onlp/src/onlp/module/src/led.c @@ -139,37 +139,6 @@ onlp_led_char_set_locked__(onlp_oid_t id, char c) } ONLP_LOCKED_API2(onlp_led_char_set, onlp_oid_t, id, char, c); -/************************************************************ - * - * Debug and Show Functions - * - ***********************************************************/ - -int -onlp_led_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - int rv; - onlp_led_info_t info; - - ONLP_OID_LED_VALIDATE(oid); - ONLP_PTR_VALIDATE(pvs); - - if(ONLP_SUCCESS(rv = onlp_led_info_get(oid, &info))) { - rv = onlp_led_info_format(&info, format, pvs, flags); - } - - return rv; -} - -int -onlp_led_info_format(onlp_led_info_t* info, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - aim_printf(pvs, "%{onlp_oid_hdr} caps=%{onlp_led_caps_flags} mode=%{onlp_led_mode}\n", - info, info->caps, info->mode); - return 0; -} int onlp_led_info_to_user_json(onlp_led_info_t* info, cJSON** cjp, uint32_t flags) diff --git a/packages/base/any/onlp/src/onlp/module/src/module.c b/packages/base/any/onlp/src/onlp/module/src/module.c index 58c71fb0..611801ef 100644 --- a/packages/base/any/onlp/src/onlp/module/src/module.c +++ b/packages/base/any/onlp/src/onlp/module/src/module.c @@ -30,20 +30,6 @@ onlp_module_info_get(onlp_oid_t id, onlp_module_info_t* info) return ONLP_STATUS_E_UNSUPPORTED; } -int -onlp_module_format(onlp_oid_t id, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - return 0; -} - -int -onlp_module_info_format(onlp_module_info_t* info, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - return 0; -} - int onlp_module_info_to_user_json(onlp_module_info_t* info, cJSON** rv, uint32_t flags) { diff --git a/packages/base/any/onlp/src/onlp/module/src/oids.c b/packages/base/any/onlp/src/onlp/module/src/oids.c index 7b6543a1..4d4cfbb1 100644 --- a/packages/base/any/onlp/src/onlp/module/src/oids.c +++ b/packages/base/any/onlp/src/onlp/module/src/oids.c @@ -81,35 +81,6 @@ onlp_oid_info_get(onlp_oid_t oid, onlp_oid_hdr_t** info) return ONLP_STATUS_E_PARAM; } -int -onlp_oid_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - switch(ONLP_OID_TYPE_GET(oid)) - { -#define ONLP_OID_TYPE_ENTRY(_name, _value, _upper, _lower) \ - case ONLP_OID_TYPE_##_name: \ - return onlp_##_lower##_format(oid, format, pvs, flags); -#include - } - return ONLP_STATUS_E_PARAM; -} - -int -onlp_oid_info_format(onlp_oid_hdr_t* info, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - switch(ONLP_OID_TYPE_GET(info->id)) - { -#define ONLP_OID_TYPE_ENTRY(_name, _value, _upper, _lower) \ - case ONLP_OID_TYPE_##_name: \ - return onlp_##_lower##_info_format((onlp_##_lower##_info_t*)info, \ - format, pvs, flags); -#include - } - return ONLP_STATUS_E_PARAM; -} - int onlp_oid_info_to_json(onlp_oid_hdr_t* info, cJSON** cj, uint32_t flags) { @@ -150,6 +121,10 @@ onlp_oid_to_user_json(onlp_oid_t oid, cJSON** cjp, uint32_t flags) int onlp_oid_to_json(onlp_oid_t oid, cJSON** cjp, uint32_t flags) { + if(flags & ONLP_OID_JSON_FLAG_TO_USER_JSON) { + return onlp_oid_to_user_json(oid, cjp, flags); + } + switch(ONLP_OID_TYPE_GET(oid)) { #define ONLP_OID_TYPE_ENTRY(_name, _value, _upper, _lower) \ @@ -158,7 +133,7 @@ onlp_oid_to_json(onlp_oid_t oid, cJSON** cjp, uint32_t flags) int rv; \ onlp_##_lower##_info_t info; \ if(ONLP_SUCCESS(rv = onlp_##_lower##_info_get(oid, &info))) { \ - return onlp_##_lower##_info_to_json(&info, cjp, flags); \ + rv = onlp_##_lower##_info_to_json(&info, cjp, flags); \ } \ return rv; \ } @@ -168,17 +143,6 @@ onlp_oid_to_json(onlp_oid_t oid, cJSON** cjp, uint32_t flags) } -int -onlp_oid_table_format(onlp_oid_table_t table, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - onlp_oid_t* oidp; - ONLP_OID_TABLE_ITER(table, oidp) { - onlp_oid_format(*oidp, format, pvs, flags); - } - return 0; -} - int onlp_oid_iterate(onlp_oid_t oid, onlp_oid_type_flags_t types, onlp_oid_iterate_f itf, void* cookie) @@ -305,46 +269,6 @@ onlp_oid_get_all_free(biglist_t* list) return 0; } -int -onlp_oid_info_format_all(onlp_oid_t root, onlp_oid_type_flags_t types, - uint32_t get_flags, - onlp_oid_format_t format, aim_pvs_t* pvs, - uint32_t format_flags) -{ - int rv; - biglist_t* list; - if(ONLP_SUCCESS(onlp_oid_info_get_all(root, types, get_flags, &list))) { - biglist_t* ble; - onlp_oid_hdr_t* hdr; - BIGLIST_FOREACH_DATA(ble, list, onlp_oid_hdr_t*, hdr) { - if(ONLP_FAILURE(rv = onlp_oid_info_format(hdr, ONLP_OID_TYPE_GET(hdr->id), pvs, format_flags))) { - break; - } - } - onlp_oid_get_all_free(list); - } - return rv; -} - - -int -onlp_oid_hdr_format_all(onlp_oid_t root, onlp_oid_type_flags_t types, - uint32_t get_flags, - onlp_oid_format_t format, aim_pvs_t* pvs, - uint32_t format_flags) -{ - biglist_t* list; - if(ONLP_SUCCESS(onlp_oid_hdr_get_all(root, types, get_flags, &list))) { - biglist_t* ble; - onlp_oid_hdr_t* hdr; - BIGLIST_FOREACH_DATA(ble, list, onlp_oid_hdr_t*, hdr) { - aim_printf(pvs, "%{onlp_oid_hdr}\n", hdr); - } - onlp_oid_get_all_free(list); - } - return 0; -} - int onlp_oid_to_str(onlp_oid_t oid, char* rstr) { diff --git a/packages/base/any/onlp/src/onlp/module/src/onlp_enums.c b/packages/base/any/onlp/src/onlp/module/src/onlp_enums.c index 7179f364..c4f8ecd6 100644 --- a/packages/base/any/onlp/src/onlp/module/src/onlp_enums.c +++ b/packages/base/any/onlp/src/onlp/module/src/onlp_enums.c @@ -381,182 +381,11 @@ onlp_log_flag_desc(onlp_log_flag_t e) } -aim_map_si_t onlp_oid_dump_map[] = -{ - { "RECURSE", ONLP_OID_DUMP_RECURSE }, - { "EVEN_IF_ABSENT", ONLP_OID_DUMP_EVEN_IF_ABSENT }, - { NULL, 0 } -}; - -aim_map_si_t onlp_oid_dump_desc_map[] = -{ - { "None", ONLP_OID_DUMP_RECURSE }, - { "None", ONLP_OID_DUMP_EVEN_IF_ABSENT }, - { NULL, 0 } -}; - -const char* -onlp_oid_dump_name(onlp_oid_dump_t e) -{ - const char* name; - if(aim_map_si_i(&name, e, onlp_oid_dump_map, 0)) { - return name; - } - else { - return "-invalid value for enum type 'onlp_oid_dump'"; - } -} - -int -onlp_oid_dump_value(const char* str, onlp_oid_dump_t* e, int substr) -{ - int i; - AIM_REFERENCE(substr); - if(aim_map_si_s(&i, str, onlp_oid_dump_map, 0)) { - /* Enum Found */ - *e = i; - return 0; - } - else { - return -1; - } -} - -const char* -onlp_oid_dump_desc(onlp_oid_dump_t e) -{ - const char* name; - if(aim_map_si_i(&name, e, onlp_oid_dump_desc_map, 0)) { - return name; - } - else { - return "-invalid value for enum type 'onlp_oid_dump'"; - } -} - - -aim_map_si_t onlp_oid_format_map[] = -{ - { "JSON", ONLP_OID_FORMAT_JSON }, - { "YAML", ONLP_OID_FORMAT_YAML }, - { "USER", ONLP_OID_FORMAT_USER }, - { "DEBUG", ONLP_OID_FORMAT_DEBUG }, - { NULL, 0 } -}; - -aim_map_si_t onlp_oid_format_desc_map[] = -{ - { "None", ONLP_OID_FORMAT_JSON }, - { "None", ONLP_OID_FORMAT_YAML }, - { "None", ONLP_OID_FORMAT_USER }, - { "None", ONLP_OID_FORMAT_DEBUG }, - { NULL, 0 } -}; - -const char* -onlp_oid_format_name(onlp_oid_format_t e) -{ - const char* name; - if(aim_map_si_i(&name, e, onlp_oid_format_map, 0)) { - return name; - } - else { - return "-invalid value for enum type 'onlp_oid_format'"; - } -} - -int -onlp_oid_format_value(const char* str, onlp_oid_format_t* e, int substr) -{ - int i; - AIM_REFERENCE(substr); - if(aim_map_si_s(&i, str, onlp_oid_format_map, 0)) { - /* Enum Found */ - *e = i; - return 0; - } - else { - return -1; - } -} - -const char* -onlp_oid_format_desc(onlp_oid_format_t e) -{ - const char* name; - if(aim_map_si_i(&name, e, onlp_oid_format_desc_map, 0)) { - return name; - } - else { - return "-invalid value for enum type 'onlp_oid_format'"; - } -} - - -aim_map_si_t onlp_oid_format_flags_map[] = -{ - { "RECURSIVE", ONLP_OID_FORMAT_FLAGS_RECURSIVE }, - { "MISSING", ONLP_OID_FORMAT_FLAGS_MISSING }, - { NULL, 0 } -}; - -aim_map_si_t onlp_oid_format_flags_desc_map[] = -{ - { "None", ONLP_OID_FORMAT_FLAGS_RECURSIVE }, - { "None", ONLP_OID_FORMAT_FLAGS_MISSING }, - { NULL, 0 } -}; - -const char* -onlp_oid_format_flags_name(onlp_oid_format_flags_t e) -{ - const char* name; - if(aim_map_si_i(&name, e, onlp_oid_format_flags_map, 0)) { - return name; - } - else { - return "-invalid value for enum type 'onlp_oid_format_flags'"; - } -} - -int -onlp_oid_format_flags_value(const char* str, onlp_oid_format_flags_t* e, int substr) -{ - int i; - AIM_REFERENCE(substr); - if(aim_map_si_s(&i, str, onlp_oid_format_flags_map, 0)) { - /* Enum Found */ - *e = i; - return 0; - } - else { - return -1; - } -} - -const char* -onlp_oid_format_flags_desc(onlp_oid_format_flags_t e) -{ - const char* name; - if(aim_map_si_i(&name, e, onlp_oid_format_flags_desc_map, 0)) { - return name; - } - else { - return "-invalid value for enum type 'onlp_oid_format_flags'"; - } -} - -int -onlp_oid_format_flags_valid(onlp_oid_format_flags_t e) -{ - return aim_map_si_i(NULL, e, onlp_oid_format_flags_map, 0) ? 1 : 0; -} - - aim_map_si_t onlp_oid_json_flag_map[] = { { "RECURSIVE", ONLP_OID_JSON_FLAG_RECURSIVE }, { "UNSUPPORTED_FIELDS", ONLP_OID_JSON_FLAG_UNSUPPORTED_FIELDS }, + { "TO_USER_JSON", ONLP_OID_JSON_FLAG_TO_USER_JSON }, { NULL, 0 } }; @@ -564,6 +393,7 @@ aim_map_si_t onlp_oid_json_flag_desc_map[] = { { "None", ONLP_OID_JSON_FLAG_RECURSIVE }, { "None", ONLP_OID_JSON_FLAG_UNSUPPORTED_FIELDS }, + { "None", ONLP_OID_JSON_FLAG_TO_USER_JSON }, { NULL, 0 } }; @@ -613,68 +443,6 @@ onlp_oid_json_flag_valid(onlp_oid_json_flag_t e) } -aim_map_si_t onlp_oid_show_map[] = -{ - { "RECURSE", ONLP_OID_SHOW_RECURSE }, - { "EXTENDED", ONLP_OID_SHOW_EXTENDED }, - { "YAML", ONLP_OID_SHOW_YAML }, - { NULL, 0 } -}; - -aim_map_si_t onlp_oid_show_desc_map[] = -{ - { "None", ONLP_OID_SHOW_RECURSE }, - { "None", ONLP_OID_SHOW_EXTENDED }, - { "None", ONLP_OID_SHOW_YAML }, - { NULL, 0 } -}; - -const char* -onlp_oid_show_name(onlp_oid_show_t e) -{ - const char* name; - if(aim_map_si_i(&name, e, onlp_oid_show_map, 0)) { - return name; - } - else { - return "-invalid value for enum type 'onlp_oid_show'"; - } -} - -int -onlp_oid_show_value(const char* str, onlp_oid_show_t* e, int substr) -{ - int i; - AIM_REFERENCE(substr); - if(aim_map_si_s(&i, str, onlp_oid_show_map, 0)) { - /* Enum Found */ - *e = i; - return 0; - } - else { - return -1; - } -} - -const char* -onlp_oid_show_desc(onlp_oid_show_t e) -{ - const char* name; - if(aim_map_si_i(&name, e, onlp_oid_show_desc_map, 0)) { - return name; - } - else { - return "-invalid value for enum type 'onlp_oid_show'"; - } -} - -int -onlp_oid_show_valid(onlp_oid_show_t e) -{ - return aim_map_si_i(NULL, e, onlp_oid_show_map, 0) ? 1 : 0; -} - - aim_map_si_t onlp_oid_status_flag_map[] = { { "PRESENT", ONLP_OID_STATUS_FLAG_PRESENT }, diff --git a/packages/base/any/onlp/src/onlp/module/src/onlp_ucli.c b/packages/base/any/onlp/src/onlp/module/src/onlp_ucli.c index a06e5005..2e4ad307 100644 --- a/packages/base/any/onlp/src/onlp/module/src/onlp_ucli.c +++ b/packages/base/any/onlp/src/onlp/module/src/onlp_ucli.c @@ -63,126 +63,62 @@ char** onlp_ucli_argv = NULL; } while(0) static ucli_status_t -onlp_ucli__chassis__attribute__onie__get__(ucli_context_t* uc) +onlp_ucli__chassis__onie__show__(ucli_context_t* uc) { UCLI_COMMAND_INFO(uc, - "get", -1, - "$summary#Show the Chassis ONIE information." - "$args#[yaml|json]"); - int rv; - int format; - cJSON* cj; - - UCLI_ARGPARSE_OR_RETURN(uc, "{choice:yaml}", &format, - "format", 2, "yaml", "json"); - - if(ONLP_SUCCESS(rv = onlp_attribute_get(ONLP_OID_CHASSIS, - ONLP_ATTRIBUTE_ONIE_INFO_JSON, - (void**)&cj))) { - if(format) { - cjson_util_json_pvs(&uc->pvs, cj); - } - else { - cjson_util_yaml_pvs(&uc->pvs, cj); - } - onlp_attribute_free(ONLP_OID_CHASSIS, ONLP_ATTRIBUTE_ONIE_INFO_JSON, - cj); - } - - ONLP_CMD_STATUS(rv); + "show", -1, + "$summary#Show the chassis onie information."); + onlp_attribute_onie_info_show(ONLP_OID_CHASSIS, &uc->pvs); + return 0; } static ucli_status_t -onlp_ucli__chassis__environment__(ucli_context_t* uc) +onlp_ucli__chassis__onie__json__(ucli_context_t* uc) { UCLI_COMMAND_INFO(uc, - "environment", 0, - "Show environment."); - int rv; - cJSON* cj = NULL; - if(ONLP_SUCCESS(rv = onlp_oid_to_user_json(ONLP_OID_CHASSIS, &cj, - ONLP_OID_JSON_FLAG_RECURSIVE))) { - cjson_util_yaml_pvs(&uc->pvs, cj); - cJSON_Delete(cj); - return UCLI_STATUS_OK; - } - else { - ucli_printf(uc, "Failed: %{onlp_status}", rv); - return UCLI_STATUS_E_ERROR; - } + "json", -1, + "$summary#Show the chassis onie information."); + onlp_attribute_onie_info_show_json(ONLP_OID_CHASSIS, &uc->pvs); + return 0; +} +static ucli_status_t +onlp_ucli__chassis__asset__show__(ucli_context_t* uc) +{ + UCLI_COMMAND_INFO(uc, + "show", 0, + "$summary#Show the chassis asset information."); + onlp_attribute_asset_info_show(ONLP_OID_CHASSIS, &uc->pvs); + return 0; } static ucli_status_t -onlp_ucli__chassis__dump__(ucli_context_t* uc) +onlp_ucli__chassis__asset__json__(ucli_context_t* uc) { UCLI_COMMAND_INFO(uc, - "dump", 0, + "json", 0, + "$summary#Show the chassis asset information."); + onlp_attribute_asset_info_show_json(ONLP_OID_CHASSIS, &uc->pvs); + return 0; +} + +static ucli_status_t +onlp_ucli__chassis__env__show__(ucli_context_t* uc) +{ + UCLI_COMMAND_INFO(uc, + "env", 0, + "$summary#Show the chassis environment information."); + onlp_chassis_environment_show(&uc->pvs, ONLP_OID_JSON_FLAG_TO_USER_JSON); + return 0; +} + +static ucli_status_t +onlp_ucli__chassis__debug__show__(ucli_context_t* uc) +{ + UCLI_COMMAND_INFO(uc, + "debug", 0, "Dump all chassis OIDs."); - int rv; - cJSON* cj = NULL; - if(ONLP_SUCCESS(rv = onlp_oid_to_json(ONLP_OID_CHASSIS, &cj, - ONLP_OID_JSON_FLAG_RECURSIVE))) { - cjson_util_yaml_pvs(&uc->pvs, cj); - cJSON_Delete(cj); - return UCLI_STATUS_OK; - } - else { - ucli_printf(uc, "Failed: %{onlp_status}", rv); - return UCLI_STATUS_E_ERROR; - } -} - - -static ucli_status_t -onlp_ucli__chassis__attribute__asset__get__(ucli_context_t* uc) -{ - UCLI_COMMAND_INFO(uc, - "get", -1, - "$summary#Show the Chassis Asset information." - "$args#[yaml|json]"); - int rv; - int format; - cJSON* cj; - - UCLI_ARGPARSE_OR_RETURN(uc, "{choice:yaml}", &format, - "format", 2, "yaml", "json"); - - if(ONLP_SUCCESS(rv = onlp_attribute_get(ONLP_OID_CHASSIS, - ONLP_ATTRIBUTE_ASSET_INFO_JSON, - (void**)&cj))) { - if(format) { - cjson_util_json_pvs(&uc->pvs, cj); - } - else { - cjson_util_yaml_pvs(&uc->pvs, cj); - } - onlp_attribute_free(ONLP_OID_CHASSIS, - ONLP_ATTRIBUTE_ASSET_INFO_JSON, cj); - } - - ONLP_CMD_STATUS(rv); -} - -static ucli_status_t -onlp_ucli__oid__info__all__(ucli_context_t* uc) -{ - onlp_oid_type_flags_t types; - UCLI_COMMAND_INFO(uc, - "all", 1, ""); - UCLI_ARGPARSE_OR_RETURN(uc, "{onlp_oid_type_flags}", &types); - onlp_oid_info_format_all(ONLP_OID_CHASSIS, types, 0x0, 0x0, &uc->pvs, 0x0); - return UCLI_STATUS_OK; -} - -static ucli_status_t -onlp_ucli__oid__hdr__all__(ucli_context_t* uc) -{ - onlp_oid_type_flags_t types; - UCLI_COMMAND_INFO(uc, - "all", 1, ""); - UCLI_ARGPARSE_OR_RETURN(uc, "{onlp_oid_type_flags}", &types); - onlp_oid_hdr_format_all(ONLP_OID_CHASSIS, types, 0x0, 0x0, &uc->pvs, 0x0); - return UCLI_STATUS_OK; + onlp_chassis_debug_show(&uc->pvs); + return 0; } static ucli_status_t @@ -459,46 +395,61 @@ static ucli_module_t onlp_ucli__platform__manager__manager__module__ = NULL }; ucli_node_t* onlp_ucli__chassis__node__ = NULL; -ucli_node_t* onlp_ucli__chassis__attribute__node__ = NULL; -ucli_node_t* onlp_ucli__chassis__attribute__onie__node__ = NULL; -static ucli_command_handler_f onlp_ucli__chassis__attribute__onie__onie__handlers__[] = +ucli_node_t* onlp_ucli__chassis__debug__node__ = NULL; +static ucli_command_handler_f onlp_ucli__chassis__debug__debug__handlers__[] = { - onlp_ucli__chassis__attribute__onie__get__, + onlp_ucli__chassis__debug__show__, NULL }; -static ucli_module_t onlp_ucli__chassis__attribute__onie__onie__module__ = +static ucli_module_t onlp_ucli__chassis__debug__debug__module__ = +{ + "debug", + NULL, + onlp_ucli__chassis__debug__debug__handlers__, + NULL, + NULL +}; +ucli_node_t* onlp_ucli__chassis__onie__node__ = NULL; +static ucli_command_handler_f onlp_ucli__chassis__onie__onie__handlers__[] = +{ + onlp_ucli__chassis__onie__show__, + onlp_ucli__chassis__onie__json__, + NULL +}; +static ucli_module_t onlp_ucli__chassis__onie__onie__module__ = { "onie", NULL, - onlp_ucli__chassis__attribute__onie__onie__handlers__, + onlp_ucli__chassis__onie__onie__handlers__, NULL, NULL }; -ucli_node_t* onlp_ucli__chassis__attribute__asset__node__ = NULL; -static ucli_command_handler_f onlp_ucli__chassis__attribute__asset__asset__handlers__[] = +ucli_node_t* onlp_ucli__chassis__asset__node__ = NULL; +static ucli_command_handler_f onlp_ucli__chassis__asset__asset__handlers__[] = { - onlp_ucli__chassis__attribute__asset__get__, + onlp_ucli__chassis__asset__show__, + onlp_ucli__chassis__asset__json__, NULL }; -static ucli_module_t onlp_ucli__chassis__attribute__asset__asset__module__ = +static ucli_module_t onlp_ucli__chassis__asset__asset__module__ = { "asset", NULL, - onlp_ucli__chassis__attribute__asset__asset__handlers__, + onlp_ucli__chassis__asset__asset__handlers__, NULL, NULL }; -static ucli_command_handler_f onlp_ucli__chassis__chassis__handlers__[] = +ucli_node_t* onlp_ucli__chassis__env__node__ = NULL; +static ucli_command_handler_f onlp_ucli__chassis__env__env__handlers__[] = { - onlp_ucli__chassis__environment__, - onlp_ucli__chassis__dump__, + onlp_ucli__chassis__env__show__, NULL }; -static ucli_module_t onlp_ucli__chassis__chassis__module__ = +static ucli_module_t onlp_ucli__chassis__env__env__module__ = { - "chassis", + "env", NULL, - onlp_ucli__chassis__chassis__handlers__, + onlp_ucli__chassis__env__env__handlers__, NULL, NULL }; @@ -517,20 +468,6 @@ static ucli_module_t onlp_ucli__sfp__sfp__module__ = NULL }; ucli_node_t* onlp_ucli__oid__node__ = NULL; -ucli_node_t* onlp_ucli__oid__info__node__ = NULL; -static ucli_command_handler_f onlp_ucli__oid__info__info__handlers__[] = -{ - onlp_ucli__oid__info__all__, - NULL -}; -static ucli_module_t onlp_ucli__oid__info__info__module__ = -{ - "info", - NULL, - onlp_ucli__oid__info__info__handlers__, - NULL, - NULL -}; ucli_node_t* onlp_ucli__oid__hdr__node__ = NULL; ucli_node_t* onlp_ucli__oid__hdr__json__node__ = NULL; static ucli_command_handler_f onlp_ucli__oid__hdr__json__json__handlers__[] = @@ -547,19 +484,6 @@ static ucli_module_t onlp_ucli__oid__hdr__json__json__module__ = NULL, NULL }; -static ucli_command_handler_f onlp_ucli__oid__hdr__hdr__handlers__[] = -{ - onlp_ucli__oid__hdr__all__, - NULL -}; -static ucli_module_t onlp_ucli__oid__hdr__hdr__module__ = -{ - "hdr", - NULL, - onlp_ucli__oid__hdr__hdr__handlers__, - NULL, - NULL -}; static ucli_node_t* __ucli_auto_init__(void) { if(onlp_ucli__node__ == NULL) onlp_ucli__node__ = ucli_node_create("onlp", NULL, NULL); @@ -575,21 +499,20 @@ static ucli_node_t* __ucli_auto_init__(void) if(onlp_ucli__platform__manager__node__ == NULL) onlp_ucli__platform__manager__node__ = ucli_node_create("manager", NULL, NULL); ucli_module_init(&onlp_ucli__platform__manager__manager__module__); if(onlp_ucli__chassis__node__ == NULL) onlp_ucli__chassis__node__ = ucli_node_create("chassis", NULL, NULL); - if(onlp_ucli__chassis__attribute__node__ == NULL) onlp_ucli__chassis__attribute__node__ = ucli_node_create("attribute", NULL, NULL); - if(onlp_ucli__chassis__attribute__onie__node__ == NULL) onlp_ucli__chassis__attribute__onie__node__ = ucli_node_create("onie", NULL, NULL); - ucli_module_init(&onlp_ucli__chassis__attribute__onie__onie__module__); - if(onlp_ucli__chassis__attribute__asset__node__ == NULL) onlp_ucli__chassis__attribute__asset__node__ = ucli_node_create("asset", NULL, NULL); - ucli_module_init(&onlp_ucli__chassis__attribute__asset__asset__module__); - ucli_module_init(&onlp_ucli__chassis__chassis__module__); + if(onlp_ucli__chassis__debug__node__ == NULL) onlp_ucli__chassis__debug__node__ = ucli_node_create("debug", NULL, NULL); + ucli_module_init(&onlp_ucli__chassis__debug__debug__module__); + if(onlp_ucli__chassis__onie__node__ == NULL) onlp_ucli__chassis__onie__node__ = ucli_node_create("onie", NULL, NULL); + ucli_module_init(&onlp_ucli__chassis__onie__onie__module__); + if(onlp_ucli__chassis__asset__node__ == NULL) onlp_ucli__chassis__asset__node__ = ucli_node_create("asset", NULL, NULL); + ucli_module_init(&onlp_ucli__chassis__asset__asset__module__); + if(onlp_ucli__chassis__env__node__ == NULL) onlp_ucli__chassis__env__node__ = ucli_node_create("env", NULL, NULL); + ucli_module_init(&onlp_ucli__chassis__env__env__module__); if(onlp_ucli__sfp__node__ == NULL) onlp_ucli__sfp__node__ = ucli_node_create("sfp", NULL, NULL); ucli_module_init(&onlp_ucli__sfp__sfp__module__); if(onlp_ucli__oid__node__ == NULL) onlp_ucli__oid__node__ = ucli_node_create("oid", NULL, NULL); - if(onlp_ucli__oid__info__node__ == NULL) onlp_ucli__oid__info__node__ = ucli_node_create("info", NULL, NULL); - ucli_module_init(&onlp_ucli__oid__info__info__module__); if(onlp_ucli__oid__hdr__node__ == NULL) onlp_ucli__oid__hdr__node__ = ucli_node_create("hdr", NULL, NULL); if(onlp_ucli__oid__hdr__json__node__ == NULL) onlp_ucli__oid__hdr__json__node__ = ucli_node_create("json", NULL, NULL); ucli_module_init(&onlp_ucli__oid__hdr__json__json__module__); - ucli_module_init(&onlp_ucli__oid__hdr__hdr__module__); ucli_node_subnode_add(onlp_ucli__node__, onlp_ucli__debug__node__); ucli_node_subnode_add(onlp_ucli__debug__node__, onlp_ucli__debug__oid__node__); ucli_node_subnode_add(onlp_ucli__debug__oid__node__, onlp_ucli__debug__oid__verify__node__); @@ -602,21 +525,20 @@ static ucli_node_t* __ucli_auto_init__(void) ucli_node_subnode_add(onlp_ucli__platform__node__, onlp_ucli__platform__manager__node__); ucli_node_module_add(onlp_ucli__platform__manager__node__, &onlp_ucli__platform__manager__manager__module__); ucli_node_subnode_add(onlp_ucli__node__, onlp_ucli__chassis__node__); - ucli_node_subnode_add(onlp_ucli__chassis__node__, onlp_ucli__chassis__attribute__node__); - ucli_node_subnode_add(onlp_ucli__chassis__attribute__node__, onlp_ucli__chassis__attribute__onie__node__); - ucli_node_module_add(onlp_ucli__chassis__attribute__onie__node__, &onlp_ucli__chassis__attribute__onie__onie__module__); - ucli_node_subnode_add(onlp_ucli__chassis__attribute__node__, onlp_ucli__chassis__attribute__asset__node__); - ucli_node_module_add(onlp_ucli__chassis__attribute__asset__node__, &onlp_ucli__chassis__attribute__asset__asset__module__); - ucli_node_module_add(onlp_ucli__chassis__node__, &onlp_ucli__chassis__chassis__module__); + ucli_node_subnode_add(onlp_ucli__chassis__node__, onlp_ucli__chassis__debug__node__); + ucli_node_module_add(onlp_ucli__chassis__debug__node__, &onlp_ucli__chassis__debug__debug__module__); + ucli_node_subnode_add(onlp_ucli__chassis__node__, onlp_ucli__chassis__onie__node__); + ucli_node_module_add(onlp_ucli__chassis__onie__node__, &onlp_ucli__chassis__onie__onie__module__); + ucli_node_subnode_add(onlp_ucli__chassis__node__, onlp_ucli__chassis__asset__node__); + ucli_node_module_add(onlp_ucli__chassis__asset__node__, &onlp_ucli__chassis__asset__asset__module__); + ucli_node_subnode_add(onlp_ucli__chassis__node__, onlp_ucli__chassis__env__node__); + ucli_node_module_add(onlp_ucli__chassis__env__node__, &onlp_ucli__chassis__env__env__module__); ucli_node_subnode_add(onlp_ucli__node__, onlp_ucli__sfp__node__); ucli_node_module_add(onlp_ucli__sfp__node__, &onlp_ucli__sfp__sfp__module__); ucli_node_subnode_add(onlp_ucli__node__, onlp_ucli__oid__node__); - ucli_node_subnode_add(onlp_ucli__oid__node__, onlp_ucli__oid__info__node__); - ucli_node_module_add(onlp_ucli__oid__info__node__, &onlp_ucli__oid__info__info__module__); ucli_node_subnode_add(onlp_ucli__oid__node__, onlp_ucli__oid__hdr__node__); ucli_node_subnode_add(onlp_ucli__oid__hdr__node__, onlp_ucli__oid__hdr__json__node__); ucli_node_module_add(onlp_ucli__oid__hdr__json__node__, &onlp_ucli__oid__hdr__json__json__module__); - ucli_node_module_add(onlp_ucli__oid__hdr__node__, &onlp_ucli__oid__hdr__hdr__module__); return onlp_ucli__node__; } /******************************************************************************/ diff --git a/packages/base/any/onlp/src/onlp/module/src/psu.c b/packages/base/any/onlp/src/onlp/module/src/psu.c index bd630299..c7fe3102 100644 --- a/packages/base/any/onlp/src/onlp/module/src/psu.c +++ b/packages/base/any/onlp/src/onlp/module/src/psu.c @@ -69,28 +69,6 @@ onlp_psu_info_get_locked__(onlp_oid_t oid, onlp_psu_info_t* info) } ONLP_LOCKED_API2(onlp_psu_info_get, onlp_oid_t, oid, onlp_psu_info_t*, info); -int -onlp_psu_format(onlp_oid_t id, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - int rv; - onlp_psu_info_t info; - if(ONLP_SUCCESS(rv = onlp_psu_info_get(id, &info))) { - rv = onlp_psu_info_format(&info, format, pvs, flags); - } - return rv; -} - -int -onlp_psu_info_format(onlp_psu_info_t* info, - onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - aim_printf(pvs, "%{onlp_oid_hdr} caps=%{onlp_psu_caps_flags}\n", - info, info->caps); - return 0; -} - int onlp_psu_info_to_user_json(onlp_psu_info_t* info, cJSON** cjp, uint32_t flags) { diff --git a/packages/base/any/onlp/src/onlp/module/src/sfp.c b/packages/base/any/onlp/src/onlp/module/src/sfp.c index 7d5ea91d..65f656f7 100644 --- a/packages/base/any/onlp/src/onlp/module/src/sfp.c +++ b/packages/base/any/onlp/src/onlp/module/src/sfp.c @@ -335,6 +335,24 @@ onlp_sfp_control_flags_get(onlp_oid_t oid, uint32_t* flags) return 0; } +int +onlp_sfp_dev_read_alloc(onlp_oid_t port, + int devaddr, int addr, int count, + uint8_t** rvp) +{ + int rv; + *rvp = aim_zmalloc(count); + + rv = onlp_sfp_dev_read(port, devaddr, addr, *rvp, count); + if(ONLP_FAILURE(rv)) { + aim_free(*rvp); + *rvp = NULL; + } + return rv; +} + + + int onlp_sfp_dev_read_locked__(onlp_oid_t oid, int devaddr, int addr, uint8_t* dst, int len) @@ -394,25 +412,6 @@ onlp_sfp_dev_writew_locked__(onlp_oid_t oid, int devaddr, int addr, uint16_t val } ONLP_LOCKED_API4(onlp_sfp_dev_writew, onlp_oid_t, port, int, devaddr, int, addr, uint16_t, value); -int -onlp_sfp_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - int rv; - onlp_sfp_info_t info; - if(ONLP_SUCCESS(rv = onlp_sfp_info_get(oid, &info))) { - return onlp_sfp_info_format(&info, format, pvs, flags); - } - return rv; -} - -int -onlp_sfp_info_format(onlp_sfp_info_t* info, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - return 0; -} - static char* sfp_control_str__(uint32_t controls) { @@ -654,8 +653,7 @@ onlp_sfp_info_to_json(onlp_sfp_info_t* info, cJSON** cjp, uint32_t flags) sff_info_to_json(&info->sff, &cj); sff_dom_info_to_json(&info->dom, &cj); } - *cjp = cj; - return 0; + return onlp_info_to_json_finish(&info->hdr, cj, cjp, flags); } int diff --git a/packages/base/any/onlp/src/onlp/module/src/stdattrs.c b/packages/base/any/onlp/src/onlp/module/src/stdattrs.c index cbb89893..016eca5a 100644 --- a/packages/base/any/onlp/src/onlp/module/src/stdattrs.c +++ b/packages/base/any/onlp/src/onlp/module/src/stdattrs.c @@ -38,7 +38,7 @@ onlp_asset_info_to_json(onlp_asset_info_t* aip, cJSON** rv) if(aip->_field) { \ cJSON_AddStringToObject(cj, #_name, aip->_field); \ } else { \ - cJSON_AddNullToObject(cj, #_name); \ + /* cJSON_AddNullToObject(cj, #_name); */ \ } \ } while(0); diff --git a/packages/base/any/onlp/src/onlp/module/src/thermal.c b/packages/base/any/onlp/src/onlp/module/src/thermal.c index 14b5dc3d..711153c6 100644 --- a/packages/base/any/onlp/src/onlp/module/src/thermal.c +++ b/packages/base/any/onlp/src/onlp/module/src/thermal.c @@ -27,6 +27,7 @@ #include #include "onlp_int.h" #include "onlp_locks.h" +#include "onlp_log.h" static int onlp_thermal_sw_init_locked__(void) @@ -51,17 +52,18 @@ onlp_thermal_sw_denit_locked__(void) ONLP_LOCKED_API0(onlp_thermal_sw_denit); static int -onlp_thermal_hdr_get_locked__(onlp_oid_t id, onlp_oid_hdr_t* hdr) +onlp_thermal_hdr_get_locked__(onlp_oid_t oid, onlp_oid_hdr_t* hdr) { - int rv = onlp_thermali_hdr_get(id, hdr); - if(ONLP_SUCCESS(rv)) { - return rv; - } - if(ONLP_UNSUPPORTED(rv)) { - onlp_thermal_info_t ti; - rv = onlp_thermali_info_get(id, &ti); - memcpy(hdr, &ti.hdr, sizeof(ti.hdr)); - } + int rv; + onlp_oid_id_t id; + + ONLP_OID_THERMAL_VALIDATE_GET_ID(oid, id); + ONLP_PTR_VALIDATE_ZERO(hdr); + + rv = onlp_log_error(0, + onlp_thermali_hdr_get(id, hdr), + "thermali hdr get %{onlp_oid}", oid); + hdr->id = oid; return rv; } ONLP_LOCKED_API2(onlp_thermal_hdr_get, onlp_oid_t, id, onlp_oid_hdr_t*, hdr); @@ -69,35 +71,20 @@ ONLP_LOCKED_API2(onlp_thermal_hdr_get, onlp_oid_t, id, onlp_oid_hdr_t*, hdr); static int onlp_thermal_info_get_locked__(onlp_oid_t oid, onlp_thermal_info_t* info) -{ - ONLP_OID_THERMAL_VALIDATE(oid); - return onlp_thermali_info_get(oid, info); -} -ONLP_LOCKED_API2(onlp_thermal_info_get, onlp_oid_t, oid, onlp_thermal_info_t*, info); - - -int -onlp_thermal_format(onlp_oid_t oid, onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) { int rv; - onlp_thermal_info_t info; - if(ONLP_SUCCESS(rv = onlp_thermal_info_get(oid, &info))) { - return onlp_thermal_info_format(&info, format, pvs, flags); - } + onlp_oid_id_t id; + + ONLP_OID_THERMAL_VALIDATE_GET_ID(oid, id); + ONLP_PTR_VALIDATE_ZERO(info); + + rv = onlp_log_error(0, + onlp_thermali_info_get(id, info), + "thermali info get %{onlp_oid}", oid); + info->hdr.id = oid; return rv; } - -int -onlp_thermal_info_format(onlp_thermal_info_t* info, - onlp_oid_format_t format, - aim_pvs_t* pvs, uint32_t flags) -{ - aim_printf(pvs, "%{onlp_oid_hdr} caps=%{onlp_thermal_caps_flags} m=%d thresholds=[ %d, %d, %d ]\n", - info, info->caps, info->mcelsius, - info->thresholds.warning, info->thresholds.error, info->thresholds.shutdown); - return 0; -} +ONLP_LOCKED_API2(onlp_thermal_info_get, onlp_oid_t, oid, onlp_thermal_info_t*, info); int onlp_thermal_info_to_user_json(onlp_thermal_info_t* info, cJSON** cjp, uint32_t flags) diff --git a/packages/base/any/onlp/src/onlp_platform_defaults/module/src/chassisi.c b/packages/base/any/onlp/src/onlp_platform_defaults/module/src/chassisi.c index a3262bfb..bb6c588a 100644 --- a/packages/base/any/onlp/src/onlp_platform_defaults/module/src/chassisi.c +++ b/packages/base/any/onlp/src/onlp_platform_defaults/module/src/chassisi.c @@ -28,5 +28,5 @@ __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_chassisi_sw_init(void)); __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_chassisi_sw_denit(void)); __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_chassisi_hw_init(uint32_t flags)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_chassisi_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* hdr)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_chassisi_info_get(onlp_oid_t oid, onlp_chassis_info_t* info)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_chassisi_info_get(onlp_oid_id_t id, onlp_chassis_info_t* info)); diff --git a/packages/base/any/onlp/src/onlp_platform_defaults/module/src/fani.c b/packages/base/any/onlp/src/onlp_platform_defaults/module/src/fani.c index 4f5764ce..b9840d73 100644 --- a/packages/base/any/onlp/src/onlp_platform_defaults/module/src/fani.c +++ b/packages/base/any/onlp/src/onlp_platform_defaults/module/src/fani.c @@ -33,9 +33,9 @@ __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_fani_sw_init(void)); __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_fani_hw_init(uint32_t flags)); __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_fani_sw_denit(void)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_fani_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* hdr)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_fani_info_get(onlp_oid_t id, onlp_fan_info_t* info)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_fani_rpm_set(onlp_oid_t id, int rpm)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_fani_percentage_set(onlp_oid_t id, int p)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_fani_dir_set(onlp_oid_t id, onlp_fan_dir_t dir)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_fani_ioctl(onlp_oid_t id, va_list vargs)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_fani_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_fani_info_get(onlp_oid_id_t id, onlp_fan_info_t* info)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_fani_rpm_set(onlp_oid_id_t id, int rpm)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_fani_percentage_set(onlp_oid_id_t id, int p)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_fani_dir_set(onlp_oid_id_t id, onlp_fan_dir_t dir)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_fani_ioctl(onlp_oid_id_t id, va_list vargs)); diff --git a/packages/base/any/onlp/src/onlp_platform_defaults/module/src/ledi.c b/packages/base/any/onlp/src/onlp_platform_defaults/module/src/ledi.c index 1ae98c28..9025a71d 100644 --- a/packages/base/any/onlp/src/onlp_platform_defaults/module/src/ledi.c +++ b/packages/base/any/onlp/src/onlp_platform_defaults/module/src/ledi.c @@ -28,8 +28,7 @@ __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_ledi_sw_init(void)); __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_ledi_hw_init(uint32_t flags)); __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_ledi_sw_denit(void)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_ledi_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* rv)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_ledi_info_get(onlp_oid_t id, onlp_led_info_t* rv)); - -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_ledi_mode_set(onlp_oid_t id, onlp_led_mode_t mode)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_ledi_char_set(onlp_oid_t id, char c)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_ledi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* rv)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_ledi_info_get(onlp_oid_id_t id, onlp_led_info_t* rv)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_ledi_mode_set(onlp_oid_id_t id, onlp_led_mode_t mode)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_ledi_char_set(onlp_oid_id_t id, char c)); diff --git a/packages/base/any/onlp/src/onlp_platform_defaults/module/src/psui.c b/packages/base/any/onlp/src/onlp_platform_defaults/module/src/psui.c index 2b7d1e41..d86bd5d8 100644 --- a/packages/base/any/onlp/src/onlp_platform_defaults/module/src/psui.c +++ b/packages/base/any/onlp/src/onlp_platform_defaults/module/src/psui.c @@ -29,5 +29,5 @@ __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_psui_sw_init(void)); __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_psui_hw_init(uint32_t flags)); __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_psui_sw_denit(void)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_psui_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* rv)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_psui_info_get(onlp_oid_t id, onlp_psu_info_t* rv)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_psui_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* rv)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_psui_info_get(onlp_oid_id_t id, onlp_psu_info_t* rv)); diff --git a/packages/base/any/onlp/src/onlp_platform_defaults/module/src/sfpi.c b/packages/base/any/onlp/src/onlp_platform_defaults/module/src/sfpi.c index a413fd37..ff2552cb 100644 --- a/packages/base/any/onlp/src/onlp_platform_defaults/module/src/sfpi.c +++ b/packages/base/any/onlp/src/onlp_platform_defaults/module/src/sfpi.c @@ -29,23 +29,23 @@ __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_sfpi_sw_init(void)); __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_sfpi_hw_init(uint32_t flags)); __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_sfpi_sw_denit(void)); __ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_bitmap_get(onlp_sfp_bitmap_t* bmap)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_type_get(int port, onlp_sfp_type_t* rv)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_is_present(int port)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_type_get(onlp_oid_id_t id, onlp_sfp_type_t* rv)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_is_present(onlp_oid_id_t id)); __ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_presence_bitmap_get(onlp_sfp_bitmap_t* dst)); __ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_rx_los_bitmap_get(onlp_sfp_bitmap_t* dst)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_post_insert(int port, sff_info_t* sff_info)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_port_map(int port, int* rport)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_post_insert(onlp_oid_id_t id, sff_info_t* sff_info)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_port_map(onlp_oid_id_t id, int* rport)); __ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_denit(void)); -__ONLP_DEFAULTI_VIMPLEMENTATION(onlp_sfpi_debug(int port, aim_pvs_t* pvs)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_ioctl(int port, va_list vargs)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_control_supported(int port, onlp_sfp_control_t control, int* rv)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_control_set(int port, onlp_sfp_control_t control, int value)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_control_get(int port, onlp_sfp_control_t control, int* value)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_dev_read(int port, int devaddr, int addr, uint8_t* dst, int len)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_dev_write(int port, int devaddr, int addr, uint8_t* dst, int len)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_dev_readb(int port, int devaddr, int addr)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_dev_writeb(int port, int devaddr, int addr, uint8_t value)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_dev_readw(int port, int devaddr, int addr)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_dev_writew(int port, int devaddr, int addr, uint16_t value)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_hdr_get(onlp_oid_t oid, onlp_oid_hdr_t* hdr)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_info_get(onlp_oid_t port, onlp_sfp_info_t* info)); +__ONLP_DEFAULTI_VIMPLEMENTATION(onlp_sfpi_debug(onlp_oid_id_t id, aim_pvs_t* pvs)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_ioctl(onlp_oid_id_t id, va_list vargs)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_control_supported(onlp_oid_id_t id, onlp_sfp_control_t control, int* rv)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_control_set(onlp_oid_id_t id, onlp_sfp_control_t control, int value)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_control_get(onlp_oid_id_t id, onlp_sfp_control_t control, int* value)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_dev_read(onlp_oid_id_t id, int devaddr, int addr, uint8_t* dst, int len)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_dev_write(onlp_oid_id_t id, int devaddr, int addr, uint8_t* dst, int len)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_dev_readb(onlp_oid_id_t id, int devaddr, int addr)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_dev_writeb(onlp_oid_id_t id, int devaddr, int addr, uint8_t value)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_dev_readw(onlp_oid_id_t id, int devaddr, int addr)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_dev_writew(onlp_oid_id_t id, int devaddr, int addr, uint16_t value)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_sfpi_info_get(onlp_oid_id_t id, onlp_sfp_info_t* info)); diff --git a/packages/base/any/onlp/src/onlp_platform_defaults/module/src/thermali.c b/packages/base/any/onlp/src/onlp_platform_defaults/module/src/thermali.c index 61addc07..618cb757 100644 --- a/packages/base/any/onlp/src/onlp_platform_defaults/module/src/thermali.c +++ b/packages/base/any/onlp/src/onlp_platform_defaults/module/src/thermali.c @@ -29,7 +29,7 @@ __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_thermali_sw_init(void)); __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_thermali_hw_init(uint32_t flags)); __ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_thermali_sw_denit(void)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_thermali_info_get(onlp_oid_t id, onlp_thermal_info_t* rv)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_thermali_status_get(onlp_oid_t id, uint32_t* rv)); -__ONLP_DEFAULTI_IMPLEMENTATION(onlp_thermali_hdr_get(onlp_oid_t id, onlp_oid_hdr_t* rv)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_thermali_info_get(onlp_oid_id_t id, onlp_thermal_info_t* rv)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_thermali_status_get(onlp_oid_id_t id, uint32_t* rv)); +__ONLP_DEFAULTI_IMPLEMENTATION(onlp_thermali_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* rv)); __ONLP_DEFAULTI_IMPLEMENTATION(onlp_thermali_ioctl(int code, va_list vargs));