manpagez: man pages & more
man hwloc_free_xmlbuffer(3)
Home | html | info | man
Exporting Topologies to XML(3)



NAME

       Exporting Topologies to XML -

   Functions
        int hwloc_topology_export_xml (hwloc_topology_t topology, const char
           *xmlpath)
        int hwloc_topology_export_xmlbuffer (hwloc_topology_t topology, char
           **xmlbuffer, int *buflen)
        void hwloc_free_xmlbuffer (hwloc_topology_t topology, char *xmlbuffer)
        void hwloc_topology_set_userdata_export_callback (hwloc_topology_t
           topology, void(*export_cb)(void *reserved, hwloc_topology_t
           topology, hwloc_obj_t obj))
        int hwloc_export_obj_userdata (void *reserved, hwloc_topology_t
           topology, hwloc_obj_t obj, const char *name, const void *buffer,
           size_t length)
        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)
        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))


Detailed Description


Function Documentation

    int hwloc_export_obj_userdata (void *reserved, hwloc_topology_ttopology,
       hwloc_obj_tobj, const char *name, const void *buffer, size_tlength)
       Export some object userdata to XML. This function may only be called
       from within the export() callback passed to
       hwloc_topology_set_userdata_export_callback(). It may be invoked one of
       multiple times to export some userdata to XML. The buffer content of
       length length is stored with optional name name.

       When importing this XML file, the import() callback (if set) will be
       called exactly as many times as hwloc_export_obj_userdata() was called
       during export(). It will receive the corresponding name, buffer and
       length arguments.

       reserved, topology and obj must be the first three parameters that were
       given to the export callback.

       Only printable characters may be exported to XML string attributes. If
       a non-printable character is passed in name or buffer, the function
       returns -1 with errno set to EINVAL.

       If exporting binary data, the application should first encode into
       printable characters only (or use hwloc_export_obj_userdata_base64()).
       It should also take care of portability issues if the export may be
       reimported on a different architecture.

    int hwloc_export_obj_userdata_base64 (void *reserved,
       hwloc_topology_ttopology, hwloc_obj_tobj, const char *name, const void
       *buffer, size_tlength)
       Encode and export some object userdata to XML. This function is similar
       to hwloc_export_obj_userdata() but it encodes the input buffer into
       printable characters before exporting. On import, decoding is
       automatically performed before the data is given to the import()
       callback if any.

       This function may only be called from within the export() callback
       passed to hwloc_topology_set_userdata_export_callback().

       The function does not take care of portability issues if the export may
       be reimported on a different architecture.

    void hwloc_free_xmlbuffer (hwloc_topology_ttopology, char *xmlbuffer)
       Free a buffer allocated by hwloc_topology_export_xmlbuffer()

    int hwloc_topology_export_xml (hwloc_topology_ttopology, const char
       *xmlpath)
       Export the topology into an XML file. This file may be loaded later
       through hwloc_topology_set_xml().

       Returns:
           -1 if a failure occured.

       Note:
           See also hwloc_topology_set_userdata_export_callback() for
           exporting application-specific userdata.

           Only printable characters may be exported to XML string attributes.
           Any other character, especially any non-ASCII character, will be
           silently dropped.



    int hwloc_topology_export_xmlbuffer (hwloc_topology_ttopology, char
       **xmlbuffer, int *buflen)
       Export the topology into a newly-allocated XML memory buffer. xmlbuffer
       is allocated by the callee and should be freed with
       hwloc_free_xmlbuffer(3) later in the caller.

       This memory buffer may be loaded later through
       hwloc_topology_set_xmlbuffer().

       Returns:
           -1 if a failure occured.

       Note:
           See also hwloc_topology_set_userdata_export_callback() for
           exporting application-specific userdata.

           Only printable characters may be exported to XML string attributes.
           Any other character, especially any non-ASCII character, will be
           silently dropped.



    void hwloc_topology_set_userdata_export_callback
       (hwloc_topology_ttopology, void(*)(void *reserved, hwloc_topology_t
       topology, hwloc_obj_t obj)export_cb)
       Set the application-specific callback for exporting userdata. The
       object userdata pointer is not exported to XML by default because hwloc
       does not know what it contains.

       This function lets applications set export_cb to a callback function
       that converts this opaque userdata into an exportable string.

       export_cb is invoked during XML export for each object whose userdata
       pointer is not NULL. The callback should use
       hwloc_export_obj_userdata() or hwloc_export_obj_userdata_base64() to
       actually export something to XML (possibly multiple times per object).

       export_cb may be set to NULL if userdata should not be exported to XML.

    void hwloc_topology_set_userdata_import_callback
       (hwloc_topology_ttopology, void(*)(hwloc_topology_t topology,
       hwloc_obj_t obj, const char *name, const void *buffer, size_t
       length)import_cb)
       Set the application-specific callback for importing userdata. On XML
       import, userdata is ignored by default because hwloc does not know how
       to store it in memory.

       This function lets applications set import_cb to a callback function
       that will get the XML-stored userdata and store it in the object as
       expected by the application.

       import_cb is called during hwloc_topology_load() as many times as
       hwloc_export_obj_userdata() was called during export. The topology is
       not entirely setup yet. Object attributes are ready to consult, but
       links between objects are not.

       import_cb may be NULL if userdata should be ignored during import.

       Note:
           buffer contains length characters followed by a null byte ('\0').

           This function should be called before hwloc_topology_load().




Author

       Generated automatically by Doxygen for Hardware Locality (hwloc) from
       the source code.



Version 1.8.1                   Tue Feb 4 2014  Exporting Topologies to XML(3)

hwloc 1.8.1 - Generated Wed Jan 14 15:53:40 CST 2015
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.