/usr/include/glib-2.0/glib
NameSizeModeActions
deprecated/-0755rm
galloca.h39120644editdlrm
garray.h113850644editdlrm
gasyncqueue.h57260644editdlrm
gatomic.h272100644editdlrm
gbacktrace.h27930644editdlrm
gbase64.h23230644editdlrm
gbitlock.h29020644editdlrm
gbookmarkfile.h126250644editdlrm
gbytes.h33340644editdlrm
gcharset.h15780644editdlrm
gchecksum.h38640644editdlrm
gconvert.h59230644editdlrm
gdataset.h62450644editdlrm
gdate.h124200644editdlrm
gdatetime.h127380644editdlrm
gdir.h16410644editdlrm
genviron.h23640644editdlrm
gerror.h111400644editdlrm
gfileutils.h78660644editdlrm
ggettext.h24240644editdlrm
ghash.h78860644editdlrm
ghmac.h34690644editdlrm
ghook.h63580644editdlrm
ghostutils.h14560644editdlrm
gi18n-lib.h13700644editdlrm
gi18n.h11670644editdlrm
giochannel.h139540644editdlrm
gkeyfile.h149130644editdlrm
glib-autocleanups.h49030644editdlrm
glist.h69300644editdlrm
gmacros.h462010644editdlrm
gmain.h282120644editdlrm
gmappedfile.h19860644editdlrm
gmarkup.h108760644editdlrm
gmem.h148570644editdlrm
gmessages.h271930644editdlrm
gnode.h87000644editdlrm
goption.h160990644editdlrm
gpattern.h17820644editdlrm
gpoll.h41250644editdlrm
gprimes.h16940644editdlrm
gprintf.h19840644editdlrm
gqsort.h14990644editdlrm
gquark.h26880644editdlrm
gqueue.h77500644editdlrm
grand.h31810644editdlrm
grcbox.h39920644editdlrm
grefcount.h39880644editdlrm
grefstring.h18680644editdlrm
gregex.h280950644editdlrm
gscanner.h88610644editdlrm
gsequence.h88110644editdlrm
gshell.h17520644editdlrm
gslice.h45850644editdlrm
gslist.h65510644editdlrm
gspawn.h132020644editdlrm
gstdio.h51090644editdlrm
gstrfuncs.h134570644editdlrm
gstring.h83310644editdlrm
gstringchunk.h21300644editdlrm
gstrvbuilder.h16130644editdlrm
gtestutils.h351380644editdlrm
gthread.h187580644editdlrm
gthreadpool.h38240644editdlrm
gtimer.h25760644editdlrm
gtimezone.h39050644editdlrm
gtrashstack.h19060644editdlrm
gtree.h64560644editdlrm
gtypes.h205160644editdlrm
gunicode.h412120644editdlrm
guri.h164460644editdlrm
gutils.h145590644editdlrm
guuid.h12910644editdlrm
gvariant.h295600644editdlrm
gvarianttype.h132440644editdlrm
gversion.h19810644editdlrm
gversionmacros.h476770644editdlrm
gwin32.h46670644editdlrm
Edit: /usr/include/glib-2.0/glib/gscanner.h (8861B)
/* GLIB - Library of useful routines for C programming * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, see . */ /* * Modified by the GLib Team and others 1997-2000. See the AUTHORS * file for a list of people on the GLib Team. See the ChangeLog * files for a list of changes. These files are distributed with * GLib at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __G_SCANNER_H__ #define __G_SCANNER_H__ #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) #error "Only can be included directly." #endif #include #include G_BEGIN_DECLS typedef struct _GScanner GScanner; typedef struct _GScannerConfig GScannerConfig; typedef union _GTokenValue GTokenValue; typedef void (*GScannerMsgFunc) (GScanner *scanner, gchar *message, gboolean error); /* GScanner: Flexible lexical scanner for general purpose. */ /* Character sets */ #define G_CSET_A_2_Z "ABCDEFGHIJKLMNOPQRSTUVWXYZ" #define G_CSET_a_2_z "abcdefghijklmnopqrstuvwxyz" #define G_CSET_DIGITS "0123456789" #define G_CSET_LATINC "\300\301\302\303\304\305\306"\ "\307\310\311\312\313\314\315\316\317\320"\ "\321\322\323\324\325\326"\ "\330\331\332\333\334\335\336" #define G_CSET_LATINS "\337\340\341\342\343\344\345\346"\ "\347\350\351\352\353\354\355\356\357\360"\ "\361\362\363\364\365\366"\ "\370\371\372\373\374\375\376\377" /* Error types */ typedef enum { G_ERR_UNKNOWN, G_ERR_UNEXP_EOF, G_ERR_UNEXP_EOF_IN_STRING, G_ERR_UNEXP_EOF_IN_COMMENT, G_ERR_NON_DIGIT_IN_CONST, G_ERR_DIGIT_RADIX, G_ERR_FLOAT_RADIX, G_ERR_FLOAT_MALFORMED } GErrorType; /* Token types */ typedef enum { G_TOKEN_EOF = 0, G_TOKEN_LEFT_PAREN = '(', G_TOKEN_RIGHT_PAREN = ')', G_TOKEN_LEFT_CURLY = '{', G_TOKEN_RIGHT_CURLY = '}', G_TOKEN_LEFT_BRACE = '[', G_TOKEN_RIGHT_BRACE = ']', G_TOKEN_EQUAL_SIGN = '=', G_TOKEN_COMMA = ',', G_TOKEN_NONE = 256, G_TOKEN_ERROR, G_TOKEN_CHAR, G_TOKEN_BINARY, G_TOKEN_OCTAL, G_TOKEN_INT, G_TOKEN_HEX, G_TOKEN_FLOAT, G_TOKEN_STRING, G_TOKEN_SYMBOL, G_TOKEN_IDENTIFIER, G_TOKEN_IDENTIFIER_NULL, G_TOKEN_COMMENT_SINGLE, G_TOKEN_COMMENT_MULTI, /*< private >*/ G_TOKEN_LAST } GTokenType; union _GTokenValue { gpointer v_symbol; gchar *v_identifier; gulong v_binary; gulong v_octal; gulong v_int; guint64 v_int64; gdouble v_float; gulong v_hex; gchar *v_string; gchar *v_comment; guchar v_char; guint v_error; }; struct _GScannerConfig { /* Character sets */ gchar *cset_skip_characters; /* default: " \t\n" */ gchar *cset_identifier_first; gchar *cset_identifier_nth; gchar *cpair_comment_single; /* default: "#\n" */ /* Should symbol lookup work case sensitive? */ guint case_sensitive : 1; /* Boolean values to be adjusted "on the fly" * to configure scanning behaviour. */ guint skip_comment_multi : 1; /* C like comment */ guint skip_comment_single : 1; /* single line comment */ guint scan_comment_multi : 1; /* scan multi line comments? */ guint scan_identifier : 1; guint scan_identifier_1char : 1; guint scan_identifier_NULL : 1; guint scan_symbols : 1; guint scan_binary : 1; guint scan_octal : 1; guint scan_float : 1; guint scan_hex : 1; /* '0x0ff0' */ guint scan_hex_dollar : 1; /* '$0ff0' */ guint scan_string_sq : 1; /* string: 'anything' */ guint scan_string_dq : 1; /* string: "\\-escapes!\n" */ guint numbers_2_int : 1; /* bin, octal, hex => int */ guint int_2_float : 1; /* int => G_TOKEN_FLOAT? */ guint identifier_2_string : 1; guint char_2_token : 1; /* return G_TOKEN_CHAR? */ guint symbol_2_token : 1; guint scope_0_fallback : 1; /* try scope 0 on lookups? */ guint store_int64 : 1; /* use value.v_int64 rather than v_int */ /*< private >*/ guint padding_dummy; }; struct _GScanner { /* unused fields */ gpointer user_data; guint max_parse_errors; /* g_scanner_error() increments this field */ guint parse_errors; /* name of input stream, featured by the default message handler */ const gchar *input_name; /* quarked data */ GData *qdata; /* link into the scanner configuration */ GScannerConfig *config; /* fields filled in after g_scanner_get_next_token() */ GTokenType token; GTokenValue value; guint line; guint position; /* fields filled in after g_scanner_peek_next_token() */ GTokenType next_token; GTokenValue next_value; guint next_line; guint next_position; /*< private >*/ /* to be considered private */ GHashTable *symbol_table; gint input_fd; const gchar *text; const gchar *text_end; gchar *buffer; guint scope_id; /*< public >*/ /* handler function for _warn and _error */ GScannerMsgFunc msg_handler; }; GLIB_AVAILABLE_IN_ALL GScanner* g_scanner_new (const GScannerConfig *config_templ); GLIB_AVAILABLE_IN_ALL void g_scanner_destroy (GScanner *scanner); GLIB_AVAILABLE_IN_ALL void g_scanner_input_file (GScanner *scanner, gint input_fd); GLIB_AVAILABLE_IN_ALL void g_scanner_sync_file_offset (GScanner *scanner); GLIB_AVAILABLE_IN_ALL void g_scanner_input_text (GScanner *scanner, const gchar *text, guint text_len); GLIB_AVAILABLE_IN_ALL GTokenType g_scanner_get_next_token (GScanner *scanner); GLIB_AVAILABLE_IN_ALL GTokenType g_scanner_peek_next_token (GScanner *scanner); GLIB_AVAILABLE_IN_ALL GTokenType g_scanner_cur_token (GScanner *scanner); GLIB_AVAILABLE_IN_ALL GTokenValue g_scanner_cur_value (GScanner *scanner); GLIB_AVAILABLE_IN_ALL guint g_scanner_cur_line (GScanner *scanner); GLIB_AVAILABLE_IN_ALL guint g_scanner_cur_position (GScanner *scanner); GLIB_AVAILABLE_IN_ALL gboolean g_scanner_eof (GScanner *scanner); GLIB_AVAILABLE_IN_ALL guint g_scanner_set_scope (GScanner *scanner, guint scope_id); GLIB_AVAILABLE_IN_ALL void g_scanner_scope_add_symbol (GScanner *scanner, guint scope_id, const gchar *symbol, gpointer value); GLIB_AVAILABLE_IN_ALL void g_scanner_scope_remove_symbol (GScanner *scanner, guint scope_id, const gchar *symbol); GLIB_AVAILABLE_IN_ALL gpointer g_scanner_scope_lookup_symbol (GScanner *scanner, guint scope_id, const gchar *symbol); GLIB_AVAILABLE_IN_ALL void g_scanner_scope_foreach_symbol (GScanner *scanner, guint scope_id, GHFunc func, gpointer user_data); GLIB_AVAILABLE_IN_ALL gpointer g_scanner_lookup_symbol (GScanner *scanner, const gchar *symbol); GLIB_AVAILABLE_IN_ALL void g_scanner_unexp_token (GScanner *scanner, GTokenType expected_token, const gchar *identifier_spec, const gchar *symbol_spec, const gchar *symbol_name, const gchar *message, gint is_error); GLIB_AVAILABLE_IN_ALL void g_scanner_error (GScanner *scanner, const gchar *format, ...) G_GNUC_PRINTF (2,3); GLIB_AVAILABLE_IN_ALL void g_scanner_warn (GScanner *scanner, const gchar *format, ...) G_GNUC_PRINTF (2,3); /* keep downward source compatibility */ #define g_scanner_add_symbol( scanner, symbol, value ) G_STMT_START { \ g_scanner_scope_add_symbol ((scanner), 0, (symbol), (value)); \ } G_STMT_END GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_scanner_scope_add_symbol) #define g_scanner_remove_symbol( scanner, symbol ) G_STMT_START { \ g_scanner_scope_remove_symbol ((scanner), 0, (symbol)); \ } G_STMT_END GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_scanner_scope_remove_symbol) #define g_scanner_foreach_symbol( scanner, func, data ) G_STMT_START { \ g_scanner_scope_foreach_symbol ((scanner), 0, (func), (data)); \ } G_STMT_END GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_scanner_scope_foreach_symbol) /* The following two functions are deprecated and will be removed in * the next major release. They do no good. */ #define g_scanner_freeze_symbol_table(scanner) ((void)0) GLIB_DEPRECATED_MACRO_IN_2_26 #define g_scanner_thaw_symbol_table(scanner) ((void)0) GLIB_DEPRECATED_MACRO_IN_2_26 G_END_DECLS #endif /* __G_SCANNER_H__ */