Main Page | Modules | Data Structures | File List | Data Fields | Related Pages

dbus-string.h

00001 /* -*- mode: C; c-file-style: "gnu" -*- */ 00002 /* dbus-string.h String utility class (internal to D-BUS implementation) 00003 * 00004 * Copyright (C) 2002, 2003 Red Hat, Inc. 00005 * 00006 * Licensed under the Academic Free License version 2.1 00007 * 00008 * This program is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation; either version 2 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * This program is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with this program; if not, write to the Free Software 00020 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00021 * 00022 */ 00023 00024 #ifndef DBUS_STRING_H 00025 #define DBUS_STRING_H 00026 00027 #include <config.h> 00028 00029 #include <dbus/dbus-memory.h> 00030 #include <dbus/dbus-types.h> 00031 #include <dbus/dbus-sysdeps.h> 00032 00033 #include <stdarg.h> 00034 00035 DBUS_BEGIN_DECLS; 00036 00040 struct DBusString 00041 { 00042 void *dummy1; 00043 int dummy2; 00044 int dummy3; 00045 int dummy4; 00046 unsigned int dummy5 : 1; 00047 unsigned int dummy6 : 1; 00048 unsigned int dummy7 : 1; 00049 unsigned int dummy8 : 3; 00050 }; 00051 00052 dbus_bool_t _dbus_string_init (DBusString *str); 00053 void _dbus_string_init_const (DBusString *str, 00054 const char *value); 00055 void _dbus_string_init_const_len (DBusString *str, 00056 const char *value, 00057 int len); 00058 dbus_bool_t _dbus_string_init_preallocated (DBusString *str, 00059 int allocate_size); 00060 void _dbus_string_free (DBusString *str); 00061 void _dbus_string_lock (DBusString *str); 00062 char* _dbus_string_get_data (DBusString *str); 00063 const char* _dbus_string_get_const_data (const DBusString *str); 00064 char* _dbus_string_get_data_len (DBusString *str, 00065 int start, 00066 int len); 00067 const char* _dbus_string_get_const_data_len (const DBusString *str, 00068 int start, 00069 int len); 00070 void _dbus_string_set_byte (DBusString *str, 00071 int i, 00072 unsigned char byte); 00073 unsigned char _dbus_string_get_byte (const DBusString *str, 00074 int start); 00075 dbus_bool_t _dbus_string_insert_bytes (DBusString *str, 00076 int i, 00077 int n_bytes, 00078 unsigned char byte); 00079 dbus_bool_t _dbus_string_steal_data (DBusString *str, 00080 char **data_return); 00081 dbus_bool_t _dbus_string_steal_data_len (DBusString *str, 00082 char **data_return, 00083 int start, 00084 int len); 00085 dbus_bool_t _dbus_string_copy_data (const DBusString *str, 00086 char **data_return); 00087 dbus_bool_t _dbus_string_copy_data_len (const DBusString *str, 00088 char **data_return, 00089 int start, 00090 int len); 00091 int _dbus_string_get_length (const DBusString *str); 00092 dbus_bool_t _dbus_string_lengthen (DBusString *str, 00093 int additional_length); 00094 void _dbus_string_shorten (DBusString *str, 00095 int length_to_remove); 00096 dbus_bool_t _dbus_string_set_length (DBusString *str, 00097 int length); 00098 dbus_bool_t _dbus_string_align_length (DBusString *str, 00099 int alignment); 00100 dbus_bool_t _dbus_string_append (DBusString *str, 00101 const char *buffer); 00102 dbus_bool_t _dbus_string_append_len (DBusString *str, 00103 const char *buffer, 00104 int len); 00105 dbus_bool_t _dbus_string_append_int (DBusString *str, 00106 long value); 00107 dbus_bool_t _dbus_string_append_uint (DBusString *str, 00108 unsigned long value); 00109 dbus_bool_t _dbus_string_append_double (DBusString *str, 00110 double value); 00111 dbus_bool_t _dbus_string_append_byte (DBusString *str, 00112 unsigned char byte); 00113 dbus_bool_t _dbus_string_append_unichar (DBusString *str, 00114 dbus_unichar_t ch); 00115 dbus_bool_t _dbus_string_append_4_aligned (DBusString *str, 00116 const unsigned char octets[4]); 00117 dbus_bool_t _dbus_string_append_8_aligned (DBusString *str, 00118 const unsigned char octets[8]); 00119 dbus_bool_t _dbus_string_append_printf (DBusString *str, 00120 const char *format, 00121 ...) _DBUS_GNUC_PRINTF (2, 3); 00122 dbus_bool_t _dbus_string_append_printf_valist (DBusString *str, 00123 const char *format, 00124 va_list args); 00125 void _dbus_string_delete (DBusString *str, 00126 int start, 00127 int len); 00128 dbus_bool_t _dbus_string_move (DBusString *source, 00129 int start, 00130 DBusString *dest, 00131 int insert_at); 00132 dbus_bool_t _dbus_string_copy (const DBusString *source, 00133 int start, 00134 DBusString *dest, 00135 int insert_at); 00136 dbus_bool_t _dbus_string_move_len (DBusString *source, 00137 int start, 00138 int len, 00139 DBusString *dest, 00140 int insert_at); 00141 dbus_bool_t _dbus_string_copy_len (const DBusString *source, 00142 int start, 00143 int len, 00144 DBusString *dest, 00145 int insert_at); 00146 dbus_bool_t _dbus_string_replace_len (const DBusString *source, 00147 int start, 00148 int len, 00149 DBusString *dest, 00150 int replace_at, 00151 int replace_len); 00152 void _dbus_string_get_unichar (const DBusString *str, 00153 int start, 00154 dbus_unichar_t *ch_return, 00155 int *end_return); 00156 dbus_bool_t _dbus_string_parse_int (const DBusString *str, 00157 int start, 00158 long *value_return, 00159 int *end_return); 00160 dbus_bool_t _dbus_string_parse_uint (const DBusString *str, 00161 int start, 00162 unsigned long *value_return, 00163 int *end_return); 00164 dbus_bool_t _dbus_string_parse_double (const DBusString *str, 00165 int start, 00166 double *value, 00167 int *end_return); 00168 dbus_bool_t _dbus_string_parse_basic_type (const DBusString *str, 00169 char type, 00170 int start, 00171 void *value, 00172 int *end_return); 00173 dbus_bool_t _dbus_string_find (const DBusString *str, 00174 int start, 00175 const char *substr, 00176 int *found); 00177 dbus_bool_t _dbus_string_find_to (const DBusString *str, 00178 int start, 00179 int end, 00180 const char *substr, 00181 int *found); 00182 dbus_bool_t _dbus_string_find_byte_backward (const DBusString *str, 00183 int start, 00184 unsigned char byte, 00185 int *found); 00186 dbus_bool_t _dbus_string_find_blank (const DBusString *str, 00187 int start, 00188 int *found); 00189 void _dbus_string_skip_blank (const DBusString *str, 00190 int start, 00191 int *end); 00192 void _dbus_string_skip_white (const DBusString *str, 00193 int start, 00194 int *end); 00195 dbus_bool_t _dbus_string_equal (const DBusString *a, 00196 const DBusString *b); 00197 dbus_bool_t _dbus_string_equal_c_str (const DBusString *a, 00198 const char *c_str); 00199 dbus_bool_t _dbus_string_equal_len (const DBusString *a, 00200 const DBusString *b, 00201 int len); 00202 dbus_bool_t _dbus_string_starts_with_c_str (const DBusString *a, 00203 const char *c_str); 00204 dbus_bool_t _dbus_string_ends_with_c_str (const DBusString *a, 00205 const char *c_str); 00206 dbus_bool_t _dbus_string_pop_line (DBusString *source, 00207 DBusString *dest); 00208 void _dbus_string_delete_first_word (DBusString *str); 00209 void _dbus_string_delete_leading_blanks (DBusString *str); 00210 dbus_bool_t _dbus_string_hex_encode (const DBusString *source, 00211 int start, 00212 DBusString *dest, 00213 int insert_at); 00214 dbus_bool_t _dbus_string_hex_decode (const DBusString *source, 00215 int start, 00216 int *end_return, 00217 DBusString *dest, 00218 int insert_at); 00219 dbus_bool_t _dbus_string_validate_ascii (const DBusString *str, 00220 int start, 00221 int len); 00222 dbus_bool_t _dbus_string_validate_utf8 (const DBusString *str, 00223 int start, 00224 int len); 00225 dbus_bool_t _dbus_string_validate_nul (const DBusString *str, 00226 int start, 00227 int len); 00228 dbus_bool_t _dbus_string_validate_path (const DBusString *str, 00229 int start, 00230 int len); 00231 dbus_bool_t _dbus_string_validate_interface (const DBusString *str, 00232 int start, 00233 int len); 00234 dbus_bool_t _dbus_string_validate_member (const DBusString *str, 00235 int start, 00236 int len); 00237 dbus_bool_t _dbus_string_validate_error_name (const DBusString *str, 00238 int start, 00239 int len); 00240 dbus_bool_t _dbus_string_validate_service (const DBusString *str, 00241 int start, 00242 int len); 00243 void _dbus_string_zero (DBusString *str); 00244 00245 00246 DBUS_END_DECLS; 00247 00248 #endif /* DBUS_STRING_H */

Generated on Mon Aug 16 17:40:11 2004 for D-BUS by doxygen 1.3.8