Hardware Locality (hwloc)  2.10.0
export.h
1 /*
2  * Copyright © 2009-2018 Inria. All rights reserved.
3  * Copyright © 2009-2012 Université Bordeaux
4  * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved.
5  * See COPYING in top-level directory.
6  */
7 
12 #ifndef HWLOC_EXPORT_H
13 #define HWLOC_EXPORT_H
14 
15 #ifndef HWLOC_H
16 #error Please include the main hwloc.h instead
17 #endif
18 
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #elif 0
23 }
24 #endif
25 
26 
41 };
42 
71 HWLOC_DECLSPEC int hwloc_topology_export_xml(hwloc_topology_t topology, const char *xmlpath, unsigned long flags);
72 
105 HWLOC_DECLSPEC int hwloc_topology_export_xmlbuffer(hwloc_topology_t topology, char **xmlbuffer, int *buflen, unsigned long flags);
106 
108 HWLOC_DECLSPEC void hwloc_free_xmlbuffer(hwloc_topology_t topology, char *xmlbuffer);
109 
129  void (*export_cb)(void *reserved, hwloc_topology_t topology, hwloc_obj_t obj));
130 
158 HWLOC_DECLSPEC int hwloc_export_obj_userdata(void *reserved, hwloc_topology_t topology, hwloc_obj_t obj, const char *name, const void *buffer, size_t length);
159 
179 HWLOC_DECLSPEC int hwloc_export_obj_userdata_base64(void *reserved, hwloc_topology_t topology, hwloc_obj_t obj, const char *name, const void *buffer, size_t length);
180 
204  void (*import_cb)(hwloc_topology_t topology, hwloc_obj_t obj, const char *name, const void *buffer, size_t length));
205 
224 
232 
242 
252 };
253 
275  HWLOC_DECLSPEC int hwloc_topology_export_synthetic(hwloc_topology_t topology, char *buffer, size_t buflen, unsigned long flags);
276 
281 #ifdef __cplusplus
282 } /* extern "C" */
283 #endif
284 
285 
286 #endif /* HWLOC_EXPORT_H */
int hwloc_topology_export_synthetic(hwloc_topology_t topology, char *buffer, size_t buflen, unsigned long flags)
Export the topology as a synthetic string.
Do not export memory information.
Definition: export.h:251
int hwloc_topology_export_xmlbuffer(hwloc_topology_t topology, char **xmlbuffer, int *buflen, unsigned long flags)
Export the topology into a newly-allocated XML memory buffer.
int hwloc_export_obj_userdata_base64(void *reserved, hwloc_topology_t topology, hwloc_obj_t obj, const char *name, const void *buffer, size_t length)
Encode and export some object userdata to XML.
Structure of a topology object.
Definition: hwloc.h:431
void hwloc_free_xmlbuffer(hwloc_topology_t topology, char *xmlbuffer)
Free a buffer allocated by hwloc_topology_export_xmlbuffer()
int hwloc_export_obj_userdata(void *reserved, hwloc_topology_t topology, hwloc_obj_t obj, const char *name, const void *buffer, size_t length)
Export some object userdata to XML.
hwloc_topology_export_xml_flags_e
Flags for exporting XML topologies.
Definition: export.h:35
void hwloc_topology_set_userdata_import_callback(hwloc_topology_t topology, void(*import_cb)(hwloc_topology_t topology, hwloc_obj_t obj, const char *name, const void *buffer, size_t length))
Set the application-specific callback for importing userdata.
Do not export level attributes.
Definition: export.h:231
hwloc_topology_export_synthetic_flags_e
Flags for exporting synthetic topologies.
Definition: export.h:217
void hwloc_topology_set_userdata_export_callback(hwloc_topology_t topology, void(*export_cb)(void *reserved, hwloc_topology_t topology, hwloc_obj_t obj))
Set the application-specific callback for exporting object userdata.
int hwloc_topology_export_xml(hwloc_topology_t topology, const char *xmlpath, unsigned long flags)
Export the topology into an XML file.
struct hwloc_topology * hwloc_topology_t
Topology context.
Definition: hwloc.h:742
Export the memory hierarchy as expected in hwloc 1.x.
Definition: export.h:241
Export XML that is loadable by hwloc v1.x. However, the export may miss some details about the topolo...
Definition: export.h:40
Export extended types such as L2dcache as basic types such as Cache.
Definition: export.h:223