<refentry id="gnome-vfs-20-gnome-vfs-standard-callbacks">
<refmeta>
<refentrytitle id="top_of_page">gnome-vfs-standard-callbacks</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GNOME-VFS-2.0 Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>gnome-vfs-standard-callbacks</refname>
<refpurpose>standard callbacks for use by gnome-vfs module writers</refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

<refsynopsisdiv id="synopsis">
<title id="synopsis.title">Synopsis</title>

<synopsis>



#define     <link linkend="GNOME-VFS-MODULE-CALLBACK-AUTHENTICATION:CAPS">GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION</link>
#define     <link linkend="GNOME-VFS-MODULE-CALLBACK-HTTP-PROXY-AUTHENTICATION:CAPS">GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION</link>
            <link linkend="GnomeVFSModuleCallbackAuthenticationOut">GnomeVFSModuleCallbackAuthenticationOut</link>;
#define     <link linkend="GNOME-VFS-MODULE-CALLBACK-HTTP-SEND-ADDITIONAL-HEADERS:CAPS">GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS</link>
            <link linkend="GnomeVFSModuleCallbackAdditionalHeadersIn">GnomeVFSModuleCallbackAdditionalHeadersIn</link>;
            <link linkend="GnomeVFSModuleCallbackAdditionalHeadersOut">GnomeVFSModuleCallbackAdditionalHeadersOut</link>;
#define     <link linkend="GNOME-VFS-MODULE-CALLBACK-HTTP-RECEIVED-HEADERS:CAPS">GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS</link>
            <link linkend="GnomeVFSModuleCallbackReceivedHeadersIn">GnomeVFSModuleCallbackReceivedHeadersIn</link>;
            <link linkend="GnomeVFSModuleCallbackReceivedHeadersOut">GnomeVFSModuleCallbackReceivedHeadersOut</link>;
#define     <link linkend="GNOME-VFS-MODULE-CALLBACK-STATUS-MESSAGE:CAPS">GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE</link>
            <link linkend="GnomeVFSModuleCallbackStatusMessageIn">GnomeVFSModuleCallbackStatusMessageIn</link>;
            <link linkend="GnomeVFSModuleCallbackStatusMessageOut">GnomeVFSModuleCallbackStatusMessageOut</link>;
</synopsis>
</refsynopsisdiv>









<refsect1 id="desc">
<title id="desc.title">Description</title>
<para>

</para>
</refsect1>

<refsect1 id="details">
<title id="details.title">Details</title>
<refsect2>
<title><anchor id="GNOME-VFS-MODULE-CALLBACK-AUTHENTICATION:CAPS" role="macro"/>GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION</title>
<indexterm><primary>GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION</primary></indexterm><programlisting>#define GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION "simple-authentication"
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GNOME-VFS-MODULE-CALLBACK-HTTP-PROXY-AUTHENTICATION:CAPS" role="macro"/>GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION</title>
<indexterm><primary>GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION</primary></indexterm><programlisting>#define GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION "http:proxy-authentication"
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GnomeVFSModuleCallbackAuthenticationOut" role="struct"/>GnomeVFSModuleCallbackAuthenticationOut</title>
<indexterm><primary>GnomeVFSModuleCallbackAuthenticationOut</primary></indexterm><programlisting>typedef struct {
	char *username;		/* will be freed by g_free,
				 * NULL indicates no auth should be provided;
				 * if the request requires authn, the operation
				 * will fail with a GNOME_VFS_ERROR_ACCESS_DENIED
				 * code
				 */
	char *password;		/* will be freed by g_free */

	/* Reserved "padding" to avoid future breaks in ABI compatibility */
	void *reserved1;
	void *reserved2;
} GnomeVFSModuleCallbackAuthenticationOut;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GNOME-VFS-MODULE-CALLBACK-HTTP-SEND-ADDITIONAL-HEADERS:CAPS" role="macro"/>GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS</title>
<indexterm><primary>GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS</primary></indexterm><programlisting>#define GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS "http:send-additional-headers"
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GnomeVFSModuleCallbackAdditionalHeadersIn" role="struct"/>GnomeVFSModuleCallbackAdditionalHeadersIn</title>
<indexterm><primary>GnomeVFSModuleCallbackAdditionalHeadersIn</primary></indexterm><programlisting>typedef struct {
	GnomeVFSURI *uri;		/* URI of operation */

	/* Reserved "padding" to avoid future breaks in ABI compatibility */
	void *reserved1;
	void *reserved2;
} GnomeVFSModuleCallbackAdditionalHeadersIn;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GnomeVFSModuleCallbackAdditionalHeadersOut" role="struct"/>GnomeVFSModuleCallbackAdditionalHeadersOut</title>
<indexterm><primary>GnomeVFSModuleCallbackAdditionalHeadersOut</primary></indexterm><programlisting>typedef struct {
	GList *headers;			/* list of headers, will be freeed */

	/* Reserved "padding" to avoid future breaks in ABI compatibility */
	void *reserved1;
	void *reserved2;
} GnomeVFSModuleCallbackAdditionalHeadersOut;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GNOME-VFS-MODULE-CALLBACK-HTTP-RECEIVED-HEADERS:CAPS" role="macro"/>GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS</title>
<indexterm><primary>GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS</primary></indexterm><programlisting>#define GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS "http:received-headers"
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GnomeVFSModuleCallbackReceivedHeadersIn" role="struct"/>GnomeVFSModuleCallbackReceivedHeadersIn</title>
<indexterm><primary>GnomeVFSModuleCallbackReceivedHeadersIn</primary></indexterm><programlisting>typedef struct {
	GnomeVFSURI *uri;		/* URI of operation */
	GList *headers;			/* list of headers */

	/* Reserved "padding" to avoid future breaks in ABI compatibility */
	void *reserved1;
	void *reserved2;
} GnomeVFSModuleCallbackReceivedHeadersIn;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GnomeVFSModuleCallbackReceivedHeadersOut" role="struct"/>GnomeVFSModuleCallbackReceivedHeadersOut</title>
<indexterm><primary>GnomeVFSModuleCallbackReceivedHeadersOut</primary></indexterm><programlisting>typedef struct {
	int dummy;

	/* Reserved "padding" to avoid future breaks in ABI compatibility */
	void *reserved1;
	void *reserved2;
} GnomeVFSModuleCallbackReceivedHeadersOut;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GNOME-VFS-MODULE-CALLBACK-STATUS-MESSAGE:CAPS" role="macro"/>GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE</title>
<indexterm><primary>GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE</primary></indexterm><programlisting>#define GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE "status-message"
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GnomeVFSModuleCallbackStatusMessageIn" role="struct"/>GnomeVFSModuleCallbackStatusMessageIn</title>
<indexterm><primary>GnomeVFSModuleCallbackStatusMessageIn</primary></indexterm><programlisting>typedef struct {
	char *uri;		/* Full URI of operation */
	char *message;		/* A message indicating the current state or
				 * NULL if there is no message */
	int percentage;		/* Percentage indicating completeness 0-100 or
				 * -1 if there is no progress percentage to
				 * report */

	/* Reserved "padding" to avoid future breaks in ABI compatibility */
	void *reserved1;
	void *reserved2;
} GnomeVFSModuleCallbackStatusMessageIn;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GnomeVFSModuleCallbackStatusMessageOut" role="struct"/>GnomeVFSModuleCallbackStatusMessageOut</title>
<indexterm><primary>GnomeVFSModuleCallbackStatusMessageOut</primary></indexterm><programlisting>typedef struct {
	int dummy; /* empty structs not allowed */

	/* Reserved "padding" to avoid future breaks in ABI compatibility */
	void *reserved1;
	void *reserved2;
} GnomeVFSModuleCallbackStatusMessageOut;
</programlisting>
<para>

</para></refsect2>

</refsect1>




</refentry>
