Source:SLASH'EM 0.0.7E7F2/prxyclnt.h

From NetHackWiki
Jump to navigation Jump to search

Below is the full text to prxyclnt.h from the source code of SLASH'EM 0.0.7E7F2. To link to a particular line, write [[SLASH'EM 0.0.7E7F2/prxyclnt.h#line123]], for example.

The latest source code for vanilla NetHack is at Source code.


The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

1.    /* $Id: prxyclnt.h,v 1.11 2004/04/19 06:56:41 j_ali Exp $ */
2.    /* Copyright (c) Slash'EM Development Team 2002-2004 */
3.    /* NetHack may be freely redistributed.  See license for details. */
4.    
5.    #ifndef PRXYCLNT_H
6.    #define PRXYCLNT_H
7.    
8.    #define PROXY_CLNT_SYNCHRONOUS	1
9.    
10.   extern short *proxy_glyph2tile;
11.   
12.   struct proxy_tilemap_entry {
13.       unsigned int tile;
14.       unsigned int refs;
15.       unsigned int no_descs;
16.       char **descs;
17.   };
18.   
19.   struct proxy_tilemap {
20.       unsigned int no_entries;		/* One tile may have several entries */
21.       unsigned int no_tiles;
22.       unsigned int max_entries;		/* No. allocted entries */
23.       struct proxy_tilemap_entry *entries;
24.   };
25.   
26.   #define PROXY_LEVEL_MAPPING		0
27.   #define PROXY_LEVEL_FLAGS		1
28.   #define PROXY_LEVEL_SUBMAPPING		2
29.   #define PROXY_LEVEL_GLYPH		3
30.   #define PROXY_LEVEL_BASED_MAPPING	4
31.   #define PROXY_LEVEL_BASED_SUBMAPPING	5
32.   #define PROXY_LEVEL_BASED_GLYPH		6
33.   #define PROXY_MAX_NO_LEVELS		7
34.   
35.   struct proxy_glyph_mapping {
36.       unsigned long rgbsym;
37.       int alt_glyph;
38.       unsigned int no_descs;
39.       const char **descs;
40.   };
41.   
42.   struct proxy_glyph_map_info {
43.       struct proxy_glyph_mapping current;
44.       struct proxycb_get_glyph_mapping_res *glyph_map;
45.       int mi, smi, gi, bsmi, bgi;
46.       const char *descs[PROXY_MAX_NO_LEVELS];
47.   };
48.   
49.   struct window_ext_procs {
50.       const char *name;
51.       int FDECL((*winext_init_nhwindows), (int *, char **, char ***));
52.       int FDECL((*winext_player_selection), (int *, int *, int *, int *));
53.       char *NDECL((*winext_askname));
54.       void NDECL((*winext_get_nh_event)) ;
55.       void FDECL((*winext_exit_nhwindows), (const char *));
56.       void FDECL((*winext_suspend_nhwindows), (const char *));
57.       void NDECL((*winext_resume_nhwindows));
58.       int FDECL((*winext_create_nhwindow), (int));
59.       void FDECL((*winext_clear_nhwindow), (int, int, int, int));
60.       void FDECL((*winext_display_nhwindow), (int, BOOLEAN_P));
61.       void FDECL((*winext_destroy_nhwindow), (int));
62.       void FDECL((*winext_curs), (int,int,int));
63.       void FDECL((*winext_putstr), (int, int, const char *));
64.       void FDECL((*winext_display_file), (int));
65.       void FDECL((*winext_start_menu), (int));
66.       void FDECL((*winext_add_menu), (int,int,int,
67.   		CHAR_P,CHAR_P,int,const char *, BOOLEAN_P));
68.       void FDECL((*winext_end_menu), (int, const char *));
69.       int FDECL((*winext_select_menu), (int, int, struct proxy_mi **));
70.       int FDECL((*winext_message_menu), (int,int,const char *));
71.       void NDECL((*winext_update_inventory));
72.       void NDECL((*winext_mark_synch));
73.       void NDECL((*winext_wait_synch));
74.       void FDECL((*winext_cliparound), (int, int));
75.       void FDECL((*winext_update_positionbar), (char *));
76.       void FDECL((*winext_print_glyph), (int,int,int,int));
77.       void FDECL((*winext_raw_print), (const char *));
78.       void FDECL((*winext_raw_print_bold), (const char *));
79.       int NDECL((*winext_nhgetch));
80.       int FDECL((*winext_nh_poskey), (int *, int *, int *));
81.       void NDECL((*winext_nhbell));
82.       int NDECL((*winext_doprev_message));
83.       char FDECL((*winext_yn_function), (const char *, const char *,
84.   		CHAR_P, int *));
85.       char *FDECL((*winext_getlin), (const char *));
86.       int NDECL((*winext_get_ext_cmd));
87.       void FDECL((*winext_number_pad), (int));
88.       void NDECL((*winext_delay_output));
89.       void FDECL((*winext_change_color), (int, long, int));
90.       void FDECL((*winext_change_background), (int));
91.       int FDECL((*winext_set_font_name), (int, char *));
92.       char *NDECL((*winext_get_color_string));
93.       void NDECL((*winext_start_screen));
94.       void NDECL((*winext_end_screen));
95.       int FDECL((*winext_outrip), (int, char *));
96.       void FDECL((*winext_preference_update), (const char *, const char *));
97.       void FDECL((*winext_status), (int, int, const char **));
98.       void FDECL((*winext_print_glyph_layered), (int, int,
99.       		struct proxy_glyph_layer *));
100.      void FDECL((*winext_send_config_file), (int));
101.  };
102.  
103.  typedef void FDECL((*proxy_clnt_errhandler), (const char *));
104.  typedef int FDECL((*proxy_clnt_authhandler), (unsigned long));
105.  
106.  /* ### proxysvc.c ### */
107.  
108.  extern void proxy_svc_set_ext_procs(void (*)(void), struct window_ext_procs *);
109.  extern char *win_proxy_clnt_gettag(const char *tag);
110.  extern void win_proxy_clnt_set_flags(unsigned long mask, unsigned long value);
111.  #ifdef NHXDR_H
112.  extern int win_proxy_clnt_log_open(nhext_io_func func, void *handle);
113.  extern int win_proxy_clnt_init(nhext_io_func, void *, nhext_io_func, void *);
114.  #endif
115.  extern int win_proxy_clnt_iteration(void);
116.  extern char *win_proxy_clnt_get_failed_packet(int *);
117.  extern char *win_proxy_clnt_get_extension(const char *name, const char *min_ver,	const char *next_ver, unsigned short *idp);
118.  extern proxy_clnt_errhandler proxy_clnt_set_errhandler(
119.  	proxy_clnt_errhandler new);
120.  extern void proxy_clnt_error(const char *fmt, ...);
121.  extern proxy_clnt_authhandler proxy_clnt_set_authhandler(
122.  	proxy_clnt_authhandler new);
123.  
124.  /* ### prxymap.c ### */
125.  
126.  extern struct proxy_glyph_mapping *proxy_glyph_map_first(
127.  	struct proxy_glyph_map_info *, struct proxycb_get_glyph_mapping_res *);
128.  extern struct proxy_glyph_mapping *proxy_glyph_map_next(
129.  	struct proxy_glyph_map_info *);
130.  extern void proxy_glyph_map_close(struct proxy_glyph_map_info *);
131.  extern unsigned int proxy_glyph_map_get_length(
132.  	struct proxycb_get_glyph_mapping_res *);
133.  
134.  /* ### prxytile.c ### */
135.  
136.  extern struct proxy_tilemap *proxy_new_tilemap(void);
137.  extern int proxy_load_tilemap_line(struct proxy_tilemap *map, const char *line);
138.  extern struct proxy_tilemap *proxy_load_tilemap(int, void (*pulse)(),
139.  	void *pulse_data);
140.  extern void proxy_free_tilemap(struct proxy_tilemap *);
141.  extern short * proxy_map_glyph2tile(
142.  	struct proxycb_get_glyph_mapping_res *glyph_map,
143.  	struct proxy_tilemap *, void (*pulse)(), void *pulse_data);
144.  
145.  /* ### prxychar.c ### */
146.  
147.  extern long *proxy_map_glyph2char(struct proxycb_get_glyph_mapping_res *);
148.  
149.  /* ### prxyconn.c ### */
150.  
151.  extern void proxy_exit_client_services(void);
152.  #ifdef NHXDR_H
153.  extern int proxy_init_client_services(nhext_io_func read_f,
154.  	void *read_h, nhext_io_func write_f, void *write_h);
155.  #endif
156.  extern void proxy_start_client_services(void);
157.  extern int proxy_connect(
158.  	char *protocol, char *address, int *argcp, char **argv);
159.  
160.  #endif /* PRXYCLNT_H */