!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/include/libgsf-1/gsf/   drwxr-xr-x
Free 13.18 GB of 57.97 GB (22.74%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     gsf-libxml.h (7.58 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
 * gsf-libxml.h: Utility wrappers for using gsf with libxml
 *
 * Copyright (C) 2002-2006 Jody Goldberg (jody@gnome.org)
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of version 2.1 of the GNU Lesser General Public
 * License as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
 * USA
 */

#ifndef GSF_LIBXML_H
#define GSF_LIBXML_H

#include <gsf/gsf-fwd.h>
#include <libxml/tree.h>

G_BEGIN_DECLS

/****************************************************************************/
/* GSF wrappers for libxml2 */
xmlParserCtxt *gsf_xml_parser_context (GsfInput   *input);
#if 0
                    /* this is cleaner, tack it on for 2.0 */
                    xmlSAXHandlerPtr sax, gpointer user);
#endif
int           gsf_xmlDocFormatDump   (GsfOutput  *output,
                       xmlDoc      *cur,
                       char const *encoding,
                       gboolean    format);

typedef gboolean (*GsfXMLProbeFunc) (const xmlChar *name,
                     const xmlChar *prefix,
                     const xmlChar *URI,
                     int nb_namespaces,
                     const xmlChar **namespaces,
                     int nb_attributes,
                     int nb_defaulted,
                     const xmlChar **attributes);
gboolean gsf_xml_probe (GsfInput *input,
            GsfXMLProbeFunc func);

/****************************************************************************/
/* Simplified wrapper to SAX based xml import */

/**
 * GsfXMLContent:
 * @GSF_XML_NO_CONTENT: node has no cstr contents
 * @GSF_XML_CONTENT: node has cstr contents
 * @GSF_XML_SHARED_CONTENT: node has contents that is shared with children
 * @GSF_XML_2ND: node is second or later occurrence
 *
 * Controls the handling of character data within a parser node.
 */

typedef enum {
    GSF_XML_NO_CONTENT = FALSE,
    GSF_XML_CONTENT,
    GSF_XML_SHARED_CONTENT,
    GSF_XML_2ND                 /* Second definition */
} GsfXMLContent;
typedef gboolean (*GsfXMLInUnknownFunc) (GsfXMLIn *xin,
                     xmlChar const *elem, xmlChar const **attrs);
typedef void     (*GsfXMLInExtDtor)     (GsfXMLIn *xin, gpointer old_state);

struct _GsfXMLIn {
    /* public state : read only */
    gpointer        user_state;
    GString           *content;
    GsfXMLInDoc  const *doc;
    GsfXMLInNode const *node;    /* current node (not on the stack) */
    /*< private >*/
    GSList            *node_stack;    /* stack of GsfXMLInNode */
};

struct _GsfXMLInNode {
    char const *id;        /* unique in the entire tree */
    int        ns_id;
    char const *name;
    char const *parent_id;
    void (*start) (GsfXMLIn *xin, xmlChar const **attrs);
    void (*end)   (GsfXMLIn *xin, GsfXMLBlob *unknown);

    union {
        int        v_int;
        gboolean    v_bool;
        gpointer    v_blob;
        char const *v_str;
    } user_data;
    GsfXMLContent has_content;

    unsigned int check_children_for_ns : 1;
    unsigned int share_children_with_parent : 1;
};

struct _GsfXMLInNS {
    char const *uri;
    unsigned    ns_id;
};

#define GSF_XML_IN_NS(id, uri) \
{ uri, id }
#define GSF_XML_IN_NS_END \
{ NULL, 0 }

#define GSF_XML_IN_NODE_FULL(parent_id, id, ns, name, has_content,     \
                 share_children_with_parent, check_ns, start, end, user)    \
{                                    \
    #id, ns, name, #parent_id, start, end, { user }, has_content,    \
    check_ns, share_children_with_parent,                \
}

#define GSF_XML_IN_NODE(parent_id, id, ns, name, has_content, start, end) \
    GSF_XML_IN_NODE_FULL(parent_id, id, ns, name, has_content,      \
                 FALSE, FALSE, start, end, 0)
#define GSF_XML_IN_NODE_END    \
    { NULL, 0, NULL, NULL, NULL, NULL, { 0 }, GSF_XML_NO_CONTENT, FALSE, FALSE }

GType         gsf_xml_in_doc_get_type (void);
GsfXMLInDoc *gsf_xml_in_doc_new       (GsfXMLInNode const *nodes, GsfXMLInNS const *ns);
void         gsf_xml_in_doc_free   (GsfXMLInDoc *doc);
gboolean     gsf_xml_in_doc_parse  (GsfXMLInDoc *doc, GsfInput *input,
                    gpointer user_state);
void         gsf_xml_in_doc_add_nodes    (GsfXMLInDoc *doc,
                     GsfXMLInNode const *nodes);
void         gsf_xml_in_doc_set_unknown_handler (GsfXMLInDoc *doc,
                         GsfXMLInUnknownFunc handler);

void         gsf_xml_in_push_state (GsfXMLIn *xin, GsfXMLInDoc const *doc,
                    gpointer new_state, GsfXMLInExtDtor dtor,
                    xmlChar const **attrs);

GsfInput    *gsf_xml_in_get_input  (GsfXMLIn const *xin);
char const  *gsf_xml_in_check_ns   (GsfXMLIn const *xin, char const *str,
                    unsigned int ns_id);
gboolean     gsf_xml_in_namecmp       (GsfXMLIn const *xin, char const *str,
                    unsigned int ns_id, char const *name);
void         gsf_xml_in_set_silent_unknowns (GsfXMLIn *xin, gboolean silent);

GType         gsf_xml_in_ns_get_type (void);

/****************************************************************************/
/* Simplified GSF based xml export (does not use libxml) */

struct GsfXMLOutClass_ {
    GObjectClass  base;

    /*< private >*/
    /* Padding for future expansion */
    void (*_gsf_reserved1) (void);
    void (*_gsf_reserved2) (void);
    void (*_gsf_reserved3) (void);
    void (*_gsf_reserved4) (void);
};

struct _GsfXMLOut {
    GObject       base;
    GsfOutput *output;

    /*< private >*/
    struct _GsfXMLOutPrivate *priv;
};

#define GSF_XML_OUT_TYPE    (gsf_xml_out_get_type ())
#define GSF_XML_OUT(o)        (G_TYPE_CHECK_INSTANCE_CAST ((o), GSF_XML_OUT_TYPE, GsfXMLOut))
#define GSF_IS_XML_OUT(o)    (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSF_XML_OUT_TYPE))

GType gsf_xml_out_get_type      (void);
/* void  gsf_xml_out_register_type (GTypeModule *module); glib dynamic types are not thread safe */

GsfXMLOut *gsf_xml_out_new (GsfOutput *output);

void        gsf_xml_out_set_doc_type    (GsfXMLOut *xout, char const *type);
void        gsf_xml_out_start_element    (GsfXMLOut *xout, char const *id);
char const *gsf_xml_out_end_element    (GsfXMLOut *xout);

gboolean    gsf_xml_out_get_pretty_print (GsfXMLOut *xout);
gboolean    gsf_xml_out_set_pretty_print (GsfXMLOut *xout, gboolean pp);

void gsf_xml_out_simple_element        (GsfXMLOut *xout, char const *id,
                     char const *content);
void gsf_xml_out_simple_int_element    (GsfXMLOut *xout, char const *id,
                     int val);
void gsf_xml_out_simple_float_element    (GsfXMLOut *xout, char const *id,
                     double val, int precision);

void gsf_xml_out_add_cstr_unchecked    (GsfXMLOut *xout, char const *id,
                     char const *val_utf8);
void gsf_xml_out_add_cstr        (GsfXMLOut *xout, char const *id,
                     char const *val_utf8);
void gsf_xml_out_add_bool        (GsfXMLOut *xout, char const *id,
                     gboolean val);
void gsf_xml_out_add_int        (GsfXMLOut *xout, char const *id,
                     int val);
void gsf_xml_out_add_uint        (GsfXMLOut *xout, char const *id,
                     unsigned int val);
void gsf_xml_out_add_float        (GsfXMLOut *xout, char const *id,
                     double val, int precision);
void gsf_xml_out_add_color        (GsfXMLOut *xout, char const *id,
                     unsigned int r, unsigned int g, unsigned int b);
void gsf_xml_out_add_base64        (GsfXMLOut *xout, char const *id,
                     guint8 const *data, unsigned int len);
void gsf_xml_out_add_enum               (GsfXMLOut *xout, char const *id,
                     GType etype, gint val);
void gsf_xml_out_add_gvalue             (GsfXMLOut *xout, char const *id,
                     GValue const *val);

/****************************************************************************/
/* Some general utilities */
gboolean gsf_xml_gvalue_from_str (GValue *res, GType t, char const *str);
GsfOutput *gsf_xml_out_get_output (GsfXMLOut const *xout);

G_END_DECLS

#endif /* GSF_LIBXML_H */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0054 ]--