/[rdesktop]/sourceforge.net/trunk/rdesktop/proto.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /sourceforge.net/trunk/rdesktop/proto.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 949 - (show annotations)
Tue Aug 2 15:07:35 2005 UTC (18 years, 9 months ago) by astrand
File MIME type: text/plain
File size: 10701 byte(s)
Implemented support for keyboard "sequences", which makes it possible to send multiple scancodes to the RDP server in response to one X11 keyboard event.

1 /* bitmap.c */
2 BOOL bitmap_decompress(uint8 * output, int width, int height, uint8 * input, int size, int Bpp);
3 /* cache.c */
4 void cache_rebuild_bmpcache_linked_list(uint8 id, sint16 * idx, int count);
5 void cache_bump_bitmap(uint8 id, uint16 idx, int bump);
6 void cache_evict_bitmap(uint8 id);
7 HBITMAP cache_get_bitmap(uint8 id, uint16 idx);
8 void cache_put_bitmap(uint8 id, uint16 idx, HBITMAP bitmap);
9 void cache_save_state(void);
10 FONTGLYPH *cache_get_font(uint8 font, uint16 character);
11 void cache_put_font(uint8 font, uint16 character, uint16 offset, uint16 baseline, uint16 width,
12 uint16 height, HGLYPH pixmap);
13 DATABLOB *cache_get_text(uint8 cache_id);
14 void cache_put_text(uint8 cache_id, void *data, int length);
15 uint8 *cache_get_desktop(uint32 offset, int cx, int cy, int bytes_per_pixel);
16 void cache_put_desktop(uint32 offset, int cx, int cy, int scanline, int bytes_per_pixel,
17 uint8 * data);
18 HCURSOR cache_get_cursor(uint16 cache_idx);
19 void cache_put_cursor(uint16 cache_idx, HCURSOR cursor);
20 /* channels.c */
21 VCHANNEL *channel_register(char *name, uint32 flags, void (*callback) (STREAM));
22 STREAM channel_init(VCHANNEL * channel, uint32 length);
23 void channel_send(STREAM s, VCHANNEL * channel);
24 void channel_process(STREAM s, uint16 mcs_channel);
25 /* cliprdr.c */
26 void cliprdr_send_text_format_announce(void);
27 void cliprdr_send_blah_format_announce(void);
28 void cliprdr_send_native_format_announce(uint8 * data, uint32 length);
29 void cliprdr_send_data_request(uint32 format);
30 void cliprdr_send_data(uint8 * data, uint32 length);
31 BOOL cliprdr_init(void);
32 /* disk.c */
33 int disk_enum_devices(uint32 * id, char *optarg);
34 NTSTATUS disk_query_information(NTHANDLE handle, uint32 info_class, STREAM out);
35 NTSTATUS disk_set_information(NTHANDLE handle, uint32 info_class, STREAM in, STREAM out);
36 NTSTATUS disk_check_notify(NTHANDLE handle);
37 NTSTATUS disk_create_notify(NTHANDLE handle, uint32 info_class);
38 NTSTATUS disk_query_volume_information(NTHANDLE handle, uint32 info_class, STREAM out);
39 NTSTATUS disk_query_directory(NTHANDLE handle, uint32 info_class, char *pattern, STREAM out);
40 /* mppc.c */
41 int mppc_expand(uint8 * data, uint32 clen, uint8 ctype, uint32 * roff, uint32 * rlen);
42 /* ewmhints.c */
43 int get_current_workarea(uint32 * x, uint32 * y, uint32 * width, uint32 * height);
44 /* iso.c */
45 STREAM iso_init(int length);
46 void iso_send(STREAM s);
47 STREAM iso_recv(uint8 * rdpver);
48 BOOL iso_connect(char *server, char *username);
49 void iso_disconnect(void);
50 /* licence.c */
51 void licence_process(STREAM s);
52 /* mcs.c */
53 STREAM mcs_init(int length);
54 void mcs_send_to_channel(STREAM s, uint16 channel);
55 void mcs_send(STREAM s);
56 STREAM mcs_recv(uint16 * channel, uint8 * rdpver);
57 BOOL mcs_connect(char *server, STREAM mcs_data, char *username);
58 void mcs_disconnect(void);
59 /* orders.c */
60 void process_orders(STREAM s, uint16 num_orders);
61 void reset_order_state(void);
62 /* parallel.c */
63 int parallel_enum_devices(uint32 * id, char *optarg);
64 /* printer.c */
65 int printer_enum_devices(uint32 * id, char *optarg);
66 /* printercache.c */
67 int printercache_load_blob(char *printer_name, uint8 ** data);
68 void printercache_process(STREAM s);
69 /* pstcache.c */
70 void pstcache_touch_bitmap(uint8 cache_id, uint16 cache_idx, uint32 stamp);
71 BOOL pstcache_load_bitmap(uint8 cache_id, uint16 cache_idx);
72 BOOL pstcache_save_bitmap(uint8 cache_id, uint16 cache_idx, uint8 * key, uint16 width,
73 uint16 height, uint16 length, uint8 * data);
74 int pstcache_enumerate(uint8 id, HASH_KEY * keylist);
75 BOOL pstcache_init(uint8 cache_id);
76 /* rdesktop.c */
77 int main(int argc, char *argv[]);
78 void generate_random(uint8 * random);
79 void *xmalloc(int size);
80 void *xrealloc(void *oldmem, int size);
81 void xfree(void *mem);
82 void error(char *format, ...);
83 void warning(char *format, ...);
84 void unimpl(char *format, ...);
85 void hexdump(unsigned char *p, unsigned int len);
86 char *next_arg(char *src, char needle);
87 void toupper_str(char *p);
88 char *l_to_a(long N, int base);
89 int load_licence(unsigned char **data);
90 void save_licence(unsigned char *data, int length);
91 BOOL rd_pstcache_mkdir(void);
92 int rd_open_file(char *filename);
93 void rd_close_file(int fd);
94 int rd_read_file(int fd, void *ptr, int len);
95 int rd_write_file(int fd, void *ptr, int len);
96 int rd_lseek_file(int fd, int offset);
97 BOOL rd_lock_file(int fd, int start, int len);
98 /* rdp5.c */
99 void rdp5_process(STREAM s);
100 /* rdp.c */
101 void rdp_out_unistr(STREAM s, char *string, int len);
102 int rdp_in_unistr(STREAM s, char *string, int uni_len);
103 void rdp_send_input(uint32 time, uint16 message_type, uint16 device_flags, uint16 param1,
104 uint16 param2);
105 void rdp_send_client_window_status(int status);
106 void process_colour_pointer_pdu(STREAM s);
107 void process_cached_pointer_pdu(STREAM s);
108 void process_system_pointer_pdu(STREAM s);
109 void process_bitmap_updates(STREAM s);
110 void process_palette(STREAM s);
111 void process_disconnect_pdu(STREAM s, uint32 * ext_disc_reason);
112 void rdp_main_loop(BOOL * deactivated, uint32 * ext_disc_reason);
113 BOOL rdp_loop(BOOL * deactivated, uint32 * ext_disc_reason);
114 BOOL rdp_connect(char *server, uint32 flags, char *domain, char *password, char *command,
115 char *directory);
116 void rdp_disconnect(void);
117 /* rdpdr.c */
118 int get_device_index(NTHANDLE handle);
119 void convert_to_unix_filename(char *filename);
120 BOOL rdpdr_init(void);
121 void rdpdr_add_fds(int *n, fd_set * rfds, fd_set * wfds, struct timeval *tv, BOOL * timeout);
122 struct async_iorequest *rdpdr_remove_iorequest(struct async_iorequest *prev,
123 struct async_iorequest *iorq);
124 void rdpdr_check_fds(fd_set * rfds, fd_set * wfds, BOOL timed_out);
125 BOOL rdpdr_abort_io(uint32 fd, uint32 major, NTSTATUS status);
126 /* rdpsnd.c */
127 void rdpsnd_send_completion(uint16 tick, uint8 packet_index);
128 BOOL rdpsnd_init(void);
129 /* rdpsnd_oss.c */
130 BOOL wave_out_open(void);
131 void wave_out_close(void);
132 BOOL wave_out_format_supported(WAVEFORMATEX * pwfx);
133 BOOL wave_out_set_format(WAVEFORMATEX * pwfx);
134 void wave_out_volume(uint16 left, uint16 right);
135 void wave_out_write(STREAM s, uint16 tick, uint8 index);
136 void wave_out_play(void);
137 /* secure.c */
138 void sec_hash_48(uint8 * out, uint8 * in, uint8 * salt1, uint8 * salt2, uint8 salt);
139 void sec_hash_16(uint8 * out, uint8 * in, uint8 * salt1, uint8 * salt2);
140 void buf_out_uint32(uint8 * buffer, uint32 value);
141 void sec_sign(uint8 * signature, int siglen, uint8 * session_key, int keylen, uint8 * data,
142 int datalen);
143 void sec_decrypt(uint8 * data, int length);
144 STREAM sec_init(uint32 flags, int maxlen);
145 void sec_send_to_channel(STREAM s, uint32 flags, uint16 channel);
146 void sec_send(STREAM s, uint32 flags);
147 void sec_process_mcs_data(STREAM s);
148 STREAM sec_recv(uint8 * rdpver);
149 BOOL sec_connect(char *server, char *username);
150 void sec_disconnect(void);
151 /* serial.c */
152 int serial_enum_devices(uint32 * id, char *optarg);
153 BOOL serial_get_event(NTHANDLE handle, uint32 * result);
154 BOOL serial_get_timeout(NTHANDLE handle, uint32 length, uint32 * timeout, uint32 * itv_timeout);
155 /* tcp.c */
156 STREAM tcp_init(uint32 maxlen);
157 void tcp_send(STREAM s);
158 STREAM tcp_recv(STREAM s, uint32 length);
159 BOOL tcp_connect(char *server);
160 void tcp_disconnect(void);
161 char *tcp_get_address(void);
162 /* xclip.c */
163 void ui_clip_format_announce(uint8 * data, uint32 length);
164 void ui_clip_handle_data(uint8 * data, uint32 length);
165 void ui_clip_request_data(uint32 format);
166 void ui_clip_sync(void);
167 void xclip_init(void);
168 /* xkeymap.c */
169 void xkeymap_init(void);
170 BOOL handle_special_keys(uint32 keysym, unsigned int state, uint32 ev_time, BOOL pressed);
171 key_translation xkeymap_translate_key(uint32 keysym, unsigned int keycode, unsigned int state);
172 void xkeymap_send_keys(uint32 keysym, unsigned int keycode, unsigned int state, uint32 ev_time,
173 BOOL pressed);
174 uint16 xkeymap_translate_button(unsigned int button);
175 char *get_ksname(uint32 keysym);
176 void save_remote_modifiers(uint8 scancode);
177 void restore_remote_modifiers(uint32 ev_time, uint8 scancode);
178 void ensure_remote_modifiers(uint32 ev_time, key_translation tr);
179 unsigned int read_keyboard_state(void);
180 uint16 ui_get_numlock_state(unsigned int state);
181 void reset_modifier_keys(void);
182 void rdp_send_scancode(uint32 time, uint16 flags, uint8 scancode);
183 /* xwin.c */
184 BOOL get_key_state(unsigned int state, uint32 keysym);
185 BOOL ui_init(void);
186 void ui_deinit(void);
187 BOOL ui_create_window(void);
188 void ui_resize_window(void);
189 void ui_destroy_window(void);
190 void xwin_toggle_fullscreen(void);
191 int ui_select(int rdp_socket);
192 void ui_move_pointer(int x, int y);
193 HBITMAP ui_create_bitmap(int width, int height, uint8 * data);
194 void ui_paint_bitmap(int x, int y, int cx, int cy, int width, int height, uint8 * data);
195 void ui_destroy_bitmap(HBITMAP bmp);
196 HGLYPH ui_create_glyph(int width, int height, uint8 * data);
197 void ui_destroy_glyph(HGLYPH glyph);
198 HCURSOR ui_create_cursor(unsigned int x, unsigned int y, int width, int height, uint8 * andmask,
199 uint8 * xormask);
200 void ui_set_cursor(HCURSOR cursor);
201 void ui_destroy_cursor(HCURSOR cursor);
202 void ui_set_null_cursor(void);
203 HCOLOURMAP ui_create_colourmap(COLOURMAP * colours);
204 void ui_destroy_colourmap(HCOLOURMAP map);
205 void ui_set_colourmap(HCOLOURMAP map);
206 void ui_set_clip(int x, int y, int cx, int cy);
207 void ui_reset_clip(void);
208 void ui_bell(void);
209 void ui_destblt(uint8 opcode, int x, int y, int cx, int cy);
210 void ui_patblt(uint8 opcode, int x, int y, int cx, int cy, BRUSH * brush, int bgcolour,
211 int fgcolour);
212 void ui_screenblt(uint8 opcode, int x, int y, int cx, int cy, int srcx, int srcy);
213 void ui_memblt(uint8 opcode, int x, int y, int cx, int cy, HBITMAP src, int srcx, int srcy);
214 void ui_triblt(uint8 opcode, int x, int y, int cx, int cy, HBITMAP src, int srcx, int srcy,
215 BRUSH * brush, int bgcolour, int fgcolour);
216 void ui_line(uint8 opcode, int startx, int starty, int endx, int endy, PEN * pen);
217 void ui_rect(int x, int y, int cx, int cy, int colour);
218 void ui_polygon(uint8 opcode, uint8 fillmode, POINT * point, int npoints, BRUSH * brush,
219 int bgcolour, int fgcolour);
220 void ui_polyline(uint8 opcode, POINT * points, int npoints, PEN * pen);
221 void ui_ellipse(uint8 opcode, uint8 fillmode, int x, int y, int cx, int cy, BRUSH * brush,
222 int bgcolour, int fgcolour);
223 void ui_draw_glyph(int mixmode, int x, int y, int cx, int cy, HGLYPH glyph, int srcx, int srcy,
224 int bgcolour, int fgcolour);
225 void ui_draw_text(uint8 font, uint8 flags, uint8 opcode, int mixmode, int x, int y, int clipx,
226 int clipy, int clipcx, int clipcy, int boxx, int boxy, int boxcx, int boxcy,
227 BRUSH * brush, int bgcolour, int fgcolour, uint8 * text, uint8 length);
228 void ui_desktop_save(uint32 offset, int x, int y, int cx, int cy);
229 void ui_desktop_restore(uint32 offset, int x, int y, int cx, int cy);
230 void ui_begin_update(void);
231 void ui_end_update(void);

  ViewVC Help
Powered by ViewVC 1.1.26