Back to index

lightdm  1.3.2
xdmcp-client.h
Go to the documentation of this file.
00001 #ifndef _XDMCP_CLIENT_H_
00002 #define _XDMCP_CLIENT_H_
00003 
00004 #include <glib-object.h>
00005 #include <gio/gio.h>
00006 
00007 #define XDMCP_VERSION 1
00008 #define XDMCP_PORT 177
00009 
00010 typedef struct
00011 {
00012     gchar *authentication_name;
00013     gchar *hostname;
00014     gchar *status;
00015 } XDMCPWilling;
00016 
00017 typedef struct
00018 {
00019     guint32 session_id;
00020     gchar *authentication_name;
00021     gchar *authorization_name;
00022     guint16 authorization_data_length;
00023     guint8 *authorization_data;
00024 } XDMCPAccept;
00025 
00026 typedef struct
00027 {
00028     gchar *status;
00029     gchar *authentication_name;
00030 } XDMCPDecline;
00031 
00032 typedef struct
00033 {
00034     guint32 session_id;
00035     gchar *status;
00036 } XDMCPFailed;
00037 
00038 typedef struct XDMCPClientPrivate XDMCPClientPrivate;
00039 
00040 typedef struct
00041 {
00042    GObject             parent_instance;
00043    XDMCPClientPrivate *priv;
00044 } XDMCPClient;
00045 
00046 typedef struct
00047 {
00048    GObjectClass parent_class;
00049    void (*query)(XDMCPClient *client);
00050    void (*willing)(XDMCPClient *client, XDMCPWilling *message);
00051    void (*accept)(XDMCPClient *client, XDMCPAccept *message);
00052    void (*decline)(XDMCPClient *client, XDMCPDecline *message);
00053    void (*failed)(XDMCPClient *client, XDMCPFailed *message);
00054 } XDMCPClientClass;
00055 
00056 GType xdmcp_client_get_type (void);
00057 
00058 XDMCPClient *xdmcp_client_new (void);
00059 
00060 void xdmcp_client_set_hostname (XDMCPClient *client, const gchar *hostname);
00061 
00062 void xdmcp_client_set_port (XDMCPClient *client, guint16 port);
00063 
00064 gboolean xdmcp_client_start (XDMCPClient *client);
00065 
00066 GInetAddress *xdmcp_client_get_local_address (XDMCPClient *client);
00067 
00068 void xdmcp_client_send_query (XDMCPClient *client);
00069 
00070 void xdmcp_client_send_request (XDMCPClient *client,
00071                                 guint16 display_number,
00072                                 GInetAddress **addresses,
00073                                 const gchar *authentication_name,
00074                                 const guint8 *authentication_data, guint16 authentication_data_length,
00075                                 gchar **authorization_names, const gchar *mfid);
00076 
00077 void xdmcp_client_send_manage (XDMCPClient *client, guint32 session_id, guint16 display_number, gchar *display_class);
00078 
00079 G_END_DECLS
00080 
00081 #endif /* _XDMCP_CLIENT_H_ */