#ifndef _Rx_h
#define _Rx_h
typedef enum { RxUndef=-1, RxFalse=0, RxTrue=1 } RxBool;
typedef enum { UI=1, Print, LASTService } RxService;
typedef enum { XUI=1, LASTUIProtocol } RxUIProtocol;
typedef enum { XPrint=1, LASTPrintProtocol } RxPrintProtocol;
typedef enum { MitMagicCookie1=1, LASTXAuthentication } RxXAuthentication;
#define MAX_SERVICES LASTService
#define MAX_UIPROTOS LASTUIProtocol
#define MAX_PRINTPROTOS LASTPrintProtocol
#define MAX_XAUTHENTICATIONS LASTXAuthentication
typedef struct {
short version;
short revision;
char *action;
RxBool embedded;
RxBool auto_start;
int width;
int height;
char *app_group;
RxService required_services[MAX_SERVICES];
RxUIProtocol ui[MAX_UIPROTOS];
RxPrintProtocol print[MAX_PRINTPROTOS];
RxBool x_ui_input_method;
char *x_ui_input_method_url;
RxBool x_ui_lbx;
RxBool x_print_lbx;
RxXAuthentication x_auth[MAX_XAUTHENTICATIONS];
char *x_auth_data[MAX_XAUTHENTICATIONS];
RxXAuthentication x_ui_auth[MAX_XAUTHENTICATIONS];
char *x_ui_auth_data[MAX_XAUTHENTICATIONS];
RxXAuthentication x_print_auth[MAX_XAUTHENTICATIONS];
char *x_print_auth_data[MAX_XAUTHENTICATIONS];
RxXAuthentication x_ui_lbx_auth[MAX_XAUTHENTICATIONS];
char *x_ui_lbx_auth_data[MAX_XAUTHENTICATIONS];
RxXAuthentication x_print_lbx_auth[MAX_XAUTHENTICATIONS];
char *x_print_lbx_auth_data[MAX_XAUTHENTICATIONS];
} RxParams;
typedef struct {
RxBool embedded;
int width;
int height;
char *action;
char *ui;
char *print;
RxBool x_ui_lbx;
char *x_ui_lbx_auth;
RxBool x_print_lbx;
char *x_print_lbx_auth;
} RxReturnParams;
extern int
RxReadParams(char *stream,
char **argn_ret[], char **argv_ret[], int *argc_ret);
extern void RxInitializeParams(RxParams *params);
extern int
RxParseParams(char *argn[], char *argv[], int argc, RxParams *params,
int debug);
extern char *RxBuildRequest(RxReturnParams *params);
extern int RxFreeParams(RxParams *params);
extern int RxFreeReturnParams(RxReturnParams *params);
#endif