strlst.h
Go to the documentation of this file.
00001 #ifndef footxtlisthfoo
00002 #define footxtlisthfoo
00003 
00004 /* $Id: strlst.h 1477 2007-05-09 19:45:54Z lennart $ */
00005 
00006 /***
00007   This file is part of avahi.
00008  
00009   avahi is free software; you can redistribute it and/or modify it
00010   under the terms of the GNU Lesser General Public License as
00011   published by the Free Software Foundation; either version 2.1 of the
00012   License, or (at your option) any later version.
00013  
00014   avahi is distributed in the hope that it will be useful, but WITHOUT
00015   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
00016   or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
00017   Public License for more details.
00018  
00019   You should have received a copy of the GNU Lesser General Public
00020   License along with avahi; if not, write to the Free Software
00021   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
00022   USA.
00023 ***/
00024 
00027 #include <sys/types.h>
00028 #include <inttypes.h>
00029 #include <stdarg.h>
00030 
00031 #include <avahi-common/cdecl.h>
00032 #include <avahi-common/gccmacro.h>
00033 
00034 AVAHI_C_DECL_BEGIN
00035 
00042 typedef struct AvahiStringList {
00043     struct AvahiStringList *next; 
00044     size_t size;  
00045     uint8_t text[1]; 
00046 } AvahiStringList;
00047 
00053 AvahiStringList *avahi_string_list_new(const char *txt, ...) AVAHI_GCC_SENTINEL;
00054 
00057 AvahiStringList *avahi_string_list_new_va(va_list va);
00063 AvahiStringList *avahi_string_list_new_from_array(const char **array, int length);
00064 
00066 void avahi_string_list_free(AvahiStringList *l);
00067 
00075 AvahiStringList *avahi_string_list_add(AvahiStringList *l, const char *text);
00076 
00078 AvahiStringList *avahi_string_list_add_printf(AvahiStringList *l, const char *format, ...) AVAHI_GCC_PRINTF_ATTR23;
00079 
00082 AvahiStringList *avahi_string_list_add_vprintf(AvahiStringList *l, const char *format, va_list va);
00087 AvahiStringList *avahi_string_list_add_arbitrary(AvahiStringList *l, const uint8_t *text, size_t size);
00088 
00094 AvahiStringList*avahi_string_list_add_anonymous(AvahiStringList *l, size_t size);
00095 
00099 AvahiStringList *avahi_string_list_add_many(AvahiStringList *r, ...) AVAHI_GCC_SENTINEL;
00100 
00104 AvahiStringList *avahi_string_list_add_many_va(AvahiStringList *r, va_list va);
00114 char* avahi_string_list_to_string(AvahiStringList *l);
00115 
00119 size_t avahi_string_list_serialize(AvahiStringList *l, void * data, size_t size);
00120 
00122 int avahi_string_list_parse(const void *data, size_t size, AvahiStringList **ret);
00126 int avahi_string_list_equal(const AvahiStringList *a, const AvahiStringList *b);
00127 
00129 AvahiStringList *avahi_string_list_copy(const AvahiStringList *l);
00130 
00132 AvahiStringList* avahi_string_list_reverse(AvahiStringList *l);
00133 
00135 unsigned avahi_string_list_length(const AvahiStringList *l);
00136 
00142 AvahiStringList *avahi_string_list_get_next(AvahiStringList *l);
00143 
00145 uint8_t *avahi_string_list_get_text(AvahiStringList *l);
00146 
00148 size_t avahi_string_list_get_size(AvahiStringList *l);
00149 
00155 AvahiStringList *avahi_string_list_find(AvahiStringList *l, const char *key);
00156 
00162 int avahi_string_list_get_pair(AvahiStringList *l, char **key, char **value, size_t *size);
00163 
00166 AvahiStringList *avahi_string_list_add_pair(AvahiStringList *l, const char *key, const char *value);
00167 
00169 AvahiStringList *avahi_string_list_add_pair_arbitrary(AvahiStringList *l, const char *key, const uint8_t *value, size_t size);
00170 
00176 uint32_t avahi_string_list_get_service_cookie(AvahiStringList *l);
00179 AVAHI_C_DECL_END
00180 
00181 #endif
00182 


pedal_monitor
Author(s): Pedro Mendes
autogenerated on Fri Jun 6 2014 18:37:21