publish.h
Go to the documentation of this file.
00001 #ifndef fooclientpublishhfoo
00002 #define fooclientpublishhfoo
00003 
00004 /* $Id: publish.h 1502 2007-07-30 20:12:20Z 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 
00025 #include <inttypes.h>
00026 
00027 #include <avahi-common/cdecl.h>
00028 #include <avahi-common/address.h>
00029 #include <avahi-common/strlst.h>
00030 #include <avahi-common/defs.h>
00031 #include <avahi-common/watch.h>
00032 #include <avahi-common/gccmacro.h>
00033 
00034 #include <avahi-client/client.h>
00035 
00042 AVAHI_C_DECL_BEGIN
00043 
00045 typedef struct AvahiEntryGroup AvahiEntryGroup;
00046 
00048 typedef void (*AvahiEntryGroupCallback) (
00049     AvahiEntryGroup *g,
00050     AvahiEntryGroupState state ,
00051     void* userdata /* The arbitrary user data pointer originally passed to avahi_entry_group_new()*/);
00052 
00056 AvahiEntryGroup* avahi_entry_group_new(
00057     AvahiClient* c,
00058     AvahiEntryGroupCallback callback ,
00059     void *userdata );
00060 
00062 int avahi_entry_group_free (AvahiEntryGroup *);
00063 
00069 int avahi_entry_group_commit (AvahiEntryGroup*);
00070 
00072 int avahi_entry_group_reset (AvahiEntryGroup*);
00073 
00075 int avahi_entry_group_get_state (AvahiEntryGroup*);
00076 
00078 int avahi_entry_group_is_empty (AvahiEntryGroup*);
00079 
00081 AvahiClient* avahi_entry_group_get_client (AvahiEntryGroup*);
00082 
00088 int avahi_entry_group_add_service(
00089     AvahiEntryGroup *group,
00090     AvahiIfIndex interface ,
00091     AvahiProtocol protocol ,
00092     AvahiPublishFlags flags ,
00093     const char *name        ,
00094     const char *type        ,
00095     const char *domain      ,   
00096     const char *host        ,
00097     uint16_t port           ,
00098     ...) AVAHI_GCC_SENTINEL;
00099 
00101 int avahi_entry_group_add_service_strlst(
00102     AvahiEntryGroup *group,
00103     AvahiIfIndex interface,
00104     AvahiProtocol protocol,
00105     AvahiPublishFlags flags,
00106     const char *name,
00107     const char *type,
00108     const char *domain,
00109     const char *host,
00110     uint16_t port,
00111     AvahiStringList *txt );
00112 
00114 int avahi_entry_group_add_service_subtype(
00115     AvahiEntryGroup *group,
00116     AvahiIfIndex interface ,
00117     AvahiProtocol protocol ,
00118     AvahiPublishFlags flags  ,
00119     const char *name         ,
00120     const char *type         ,
00121     const char *domain       ,
00122     const char *subtype );
00123 
00125 int avahi_entry_group_update_service_txt(
00126     AvahiEntryGroup *g,
00127     AvahiIfIndex interface   ,
00128     AvahiProtocol protocol   ,
00129     AvahiPublishFlags flags  ,
00130     const char *name         ,    
00131     const char *type         ,     
00132     const char *domain       ,   
00133     ...) AVAHI_GCC_SENTINEL;
00134 
00136 int avahi_entry_group_update_service_txt_strlst(
00137     AvahiEntryGroup *g,
00138     AvahiIfIndex interface,
00139     AvahiProtocol protocol,
00140     AvahiPublishFlags flags,
00141     const char *name,     
00142     const char *type,     
00143     const char *domain,   
00144     AvahiStringList *strlst);
00145 
00148 int avahi_entry_group_add_address(
00149     AvahiEntryGroup *group,
00150     AvahiIfIndex interface,
00151     AvahiProtocol protocol,
00152     AvahiPublishFlags flags,
00153     const char *name ,
00154     const AvahiAddress *a );
00158 int avahi_entry_group_add_record(
00159     AvahiEntryGroup *group,
00160     AvahiIfIndex interface,
00161     AvahiProtocol protocol,
00162     AvahiPublishFlags flags,
00163     const char *name,
00164     uint16_t clazz,
00165     uint16_t type,
00166     uint32_t ttl,
00167     const void *rdata,
00168     size_t size);
00169 
00172 AVAHI_C_DECL_END
00173 
00174 #endif


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