Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenproto.h
Go to the documentation of this file.
00001 /* -*- c-basic-offset: 8 -*- 00002 rdesktop: A Remote Desktop Protocol client. 00003 Copyright (C) Matthew Chapman 1999-2005 00004 00005 This program is free software; you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation; either version 2 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License along 00016 with this program; if not, write to the Free Software Foundation, Inc., 00017 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00018 */ 00019 00020 #pragma once 00021 00022 /* *INDENT-OFF* */ 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 /* *INDENT-ON* */ 00027 /* bitmap.c */ 00028 BOOL bitmap_decompress(uint8 * output, int width, int height, uint8 * input, int size, int Bpp); 00029 /* cache.c */ 00030 void cache_rebuild_bmpcache_linked_list(uint8 id, sint16 * idx, int count); 00031 void cache_bump_bitmap(uint8 id, uint16 idx, int bump); 00032 void cache_evict_bitmap(uint8 id); 00033 RD_HBITMAP cache_get_bitmap(uint8 id, uint16 idx); 00034 void cache_put_bitmap(uint8 id, uint16 idx, RD_HBITMAP bitmap); 00035 void cache_save_state(void); 00036 FONTGLYPH *cache_get_font(uint8 font, uint16 character); 00037 void cache_put_font(uint8 font, uint16 character, uint16 offset, uint16 baseline, uint16 width, 00038 uint16 height, RD_HGLYPH pixmap); 00039 DATABLOB *cache_get_text(uint8 cache_id); 00040 void cache_put_text(uint8 cache_id, void *data, int length); 00041 uint8 *cache_get_desktop(uint32 offset, int cx, int cy, int bytes_per_pixel); 00042 void cache_put_desktop(uint32 offset, int cx, int cy, int scanline, int bytes_per_pixel, 00043 uint8 * data); 00044 RD_HCURSOR cache_get_cursor(uint16 cache_idx); 00045 void cache_put_cursor(uint16 cache_idx, RD_HCURSOR cursor); 00046 /* channels.c */ 00047 VCHANNEL *channel_register(char *name, uint32 flags, void (*callback) (STREAM)); 00048 STREAM channel_init(VCHANNEL * channel, uint32 length); 00049 void channel_send(STREAM s, VCHANNEL * channel); 00050 void channel_process(STREAM s, uint16 mcs_channel); 00051 /* cliprdr.c */ 00052 void cliprdr_send_simple_native_format_announce(uint32 format); 00053 void cliprdr_send_native_format_announce(uint8 * formats_data, uint32 formats_data_length); 00054 void cliprdr_send_data_request(uint32 format); 00055 void cliprdr_send_data(uint8 * data, uint32 length); 00056 void cliprdr_set_mode(const char *optarg); 00057 BOOL cliprdr_init(void); 00058 /* disk.c */ 00059 int disk_enum_devices(uint32 * id, char *optarg); 00060 RD_NTSTATUS disk_query_information(RD_NTHANDLE handle, uint32 info_class, STREAM out); 00061 RD_NTSTATUS disk_set_information(RD_NTHANDLE handle, uint32 info_class, STREAM in, STREAM out); 00062 RD_NTSTATUS disk_check_notify(RD_NTHANDLE handle); 00063 RD_NTSTATUS disk_create_notify(RD_NTHANDLE handle, uint32 info_class); 00064 RD_NTSTATUS disk_query_volume_information(RD_NTHANDLE handle, uint32 info_class, STREAM out); 00065 RD_NTSTATUS disk_query_directory(RD_NTHANDLE handle, uint32 info_class, char *pattern, STREAM out); 00066 /* mppc.c */ 00067 int mppc_expand(uint8 * data, uint32 clen, uint8 ctype, uint32 * roff, uint32 * rlen); 00068 /* ewmhints.c */ 00069 int get_current_workarea(uint32 * x, uint32 * y, uint32 * width, uint32 * height); 00070 void ewmh_init(void); 00071 /* iso.c */ 00072 STREAM iso_init(int length); 00073 void iso_send(STREAM s); 00074 STREAM iso_recv(uint8 * rdpver); 00075 BOOL iso_connect(char *server, char *username); 00076 BOOL iso_reconnect(char *server); 00077 void iso_disconnect(void); 00078 void iso_reset_state(void); 00079 /* licence.c */ 00080 void licence_process(STREAM s); 00081 /* mcs.c */ 00082 STREAM mcs_init(int length); 00083 void mcs_send_to_channel(STREAM s, uint16 channel); 00084 void mcs_send(STREAM s); 00085 STREAM mcs_recv(uint16 * channel, uint8 * rdpver); 00086 BOOL mcs_connect(char *server, STREAM mcs_data, char *username); 00087 BOOL mcs_reconnect(char *server, STREAM mcs_data); 00088 void mcs_disconnect(void); 00089 void mcs_reset_state(void); 00090 /* orders.c */ 00091 void process_orders(STREAM s, uint16 num_orders); 00092 void reset_order_state(void); 00093 /* parallel.c */ 00094 int parallel_enum_devices(uint32 * id, char *optarg); 00095 /* printer.c */ 00096 int printer_enum_devices(uint32 * id, char *optarg); 00097 /* printercache.c */ 00098 int printercache_load_blob(char *printer_name, uint8 ** data); 00099 void printercache_process(STREAM s); 00100 /* pstcache.c */ 00101 void pstcache_touch_bitmap(uint8 cache_id, uint16 cache_idx, uint32 stamp); 00102 BOOL pstcache_load_bitmap(uint8 cache_id, uint16 cache_idx); 00103 BOOL pstcache_save_bitmap(uint8 cache_id, uint16 cache_idx, uint8 * key, uint8 width, 00104 uint8 height, uint16 length, uint8 * data); 00105 int pstcache_enumerate(uint8 id, HASH_KEY * keylist); 00106 BOOL pstcache_init(uint8 cache_id); 00107 /* rdesktop.c */ 00108 int main(int argc, char *argv[]); 00109 void generate_random(uint8 * random); 00110 void *xmalloc(int size); 00111 char *xstrdup(const char *s); 00112 void *xrealloc(void *oldmem, int size); 00113 void xfree(void *mem); 00114 void error(char *format, ...); 00115 void warning(char *format, ...); 00116 void unimpl(char *format, ...); 00117 void hexdump(unsigned char *p, unsigned int len); 00118 char *next_arg(char *src, char needle); 00119 void toupper_str(char *p); 00120 BOOL str_startswith(const char *s, const char *prefix); 00121 BOOL str_handle_lines(const char *input, char **rest, str_handle_lines_t linehandler, void *data); 00122 BOOL subprocess(char *const argv[], str_handle_lines_t linehandler, void *data); 00123 char *l_to_a(long N, int base); 00124 int load_licence(unsigned char **data); 00125 void save_licence(unsigned char *data, int length); 00126 BOOL rd_pstcache_mkdir(void); 00127 int rd_open_file(char *filename); 00128 void rd_close_file(int fd); 00129 int rd_read_file(int fd, void *ptr, int len); 00130 int rd_write_file(int fd, void *ptr, int len); 00131 int rd_lseek_file(int fd, int offset); 00132 BOOL rd_lock_file(int fd, int start, int len); 00133 /* rdp5.c */ 00134 void rdp5_process(STREAM s); 00135 /* rdp.c */ 00136 void rdp_out_unistr(STREAM s, char *string, int len); 00137 int rdp_in_unistr(STREAM s, char *string, int uni_len); 00138 void rdp_send_input(uint32 time, uint16 message_type, uint16 device_flags, uint16 param1, 00139 uint16 param2); 00140 void rdp_send_client_window_status(int status); 00141 void process_colour_pointer_pdu(STREAM s); 00142 void process_cached_pointer_pdu(STREAM s); 00143 void process_system_pointer_pdu(STREAM s); 00144 void process_bitmap_updates(STREAM s); 00145 void process_palette(STREAM s); 00146 void process_disconnect_pdu(STREAM s, uint32 * ext_disc_reason); 00147 void rdp_main_loop(BOOL * deactivated, uint32 * ext_disc_reason); 00148 BOOL rdp_loop(BOOL * deactivated, uint32 * ext_disc_reason); 00149 BOOL rdp_connect(char *server, uint32 flags, char *domain, char *password, char *command, 00150 char *directory); 00151 BOOL rdp_reconnect(char *server, uint32 flags, char *domain, char *password, char *command, 00152 char *directory, char *cookie); 00153 void rdp_reset_state(void); 00154 void rdp_disconnect(void); 00155 /* rdpdr.c */ 00156 int get_device_index(RD_NTHANDLE handle); 00157 void convert_to_unix_filename(char *filename); 00158 BOOL rdpdr_init(void); 00159 void rdpdr_add_fds(int *n, fd_set * rfds, fd_set * wfds, struct timeval *tv, BOOL * timeout); 00160 struct async_iorequest *rdpdr_remove_iorequest(struct async_iorequest *prev, 00161 struct async_iorequest *iorq); 00162 void rdpdr_check_fds(fd_set * rfds, fd_set * wfds, BOOL timed_out); 00163 BOOL rdpdr_abort_io(uint32 fd, uint32 major, RD_NTSTATUS status); 00164 /* rdpsnd.c */ 00165 void rdpsnd_send_completion(uint16 tick, uint8 packet_index); 00166 BOOL rdpsnd_init(void); 00167 /* rdpsnd_oss.c */ 00168 BOOL wave_out_open(void); 00169 void wave_out_close(void); 00170 BOOL wave_out_format_supported(WAVEFORMATEX * pwfx); 00171 BOOL wave_out_set_format(WAVEFORMATEX * pwfx); 00172 void wave_out_volume(uint16 left, uint16 right); 00173 void wave_out_write(STREAM s, uint16 tick, uint8 index); 00174 void wave_out_play(void); 00175 /* secure.c */ 00176 void sec_hash_48(uint8 * out, uint8 * in, uint8 * salt1, uint8 * salt2, uint8 salt); 00177 void sec_hash_16(uint8 * out, uint8 * in, uint8 * salt1, uint8 * salt2); 00178 void buf_out_uint32(uint8 * buffer, uint32 value); 00179 void sec_sign(uint8 * signature, int siglen, uint8 * session_key, int keylen, uint8 * data, 00180 int datalen); 00181 void sec_decrypt(uint8 * data, int length); 00182 STREAM sec_init(uint32 flags, int maxlen); 00183 void sec_send_to_channel(STREAM s, uint32 flags, uint16 channel); 00184 void sec_send(STREAM s, uint32 flags); 00185 void sec_process_mcs_data(STREAM s); 00186 STREAM sec_recv(uint8 * rdpver); 00187 BOOL sec_connect(char *server, char *username); 00188 BOOL sec_reconnect(char *server); 00189 void sec_disconnect(void); 00190 void sec_reset_state(void); 00191 /* serial.c */ 00192 int serial_enum_devices(uint32 * id, char *optarg); 00193 BOOL serial_get_event(RD_NTHANDLE handle, uint32 * result); 00194 BOOL serial_get_timeout(RD_NTHANDLE handle, uint32 length, uint32 * timeout, uint32 * itv_timeout); 00195 /* tcp.c */ 00196 STREAM tcp_init(uint32 maxlen); 00197 void tcp_send(STREAM s); 00198 STREAM tcp_recv(STREAM s, uint32 length); 00199 BOOL tcp_connect(char *server); 00200 void tcp_disconnect(void); 00201 char *tcp_get_address(void); 00202 void tcp_reset_state(void); 00203 /* xclip.c */ 00204 void ui_clip_format_announce(uint8 * data, uint32 length); 00205 void ui_clip_handle_data(uint8 * data, uint32 length); 00206 void ui_clip_request_failed(void); 00207 void ui_clip_request_data(uint32 format); 00208 void ui_clip_sync(void); 00209 void ui_clip_set_mode(const char *optarg); 00210 void xclip_init(void); 00211 /* xkeymap.c */ 00212 BOOL xkeymap_from_locale(const char *locale); 00213 FILE *xkeymap_open(const char *filename); 00214 void xkeymap_init(void); 00215 BOOL handle_special_keys(uint32 keysym, unsigned int state, uint32 ev_time, BOOL pressed); 00216 key_translation xkeymap_translate_key(uint32 keysym, unsigned int keycode, unsigned int state); 00217 void xkeymap_send_keys(uint32 keysym, unsigned int keycode, unsigned int state, uint32 ev_time, 00218 BOOL pressed, uint8 nesting); 00219 uint16 xkeymap_translate_button(unsigned int button); 00220 char *get_ksname(uint32 keysym); 00221 void save_remote_modifiers(uint8 scancode); 00222 void restore_remote_modifiers(uint32 ev_time, uint8 scancode); 00223 void ensure_remote_modifiers(uint32 ev_time, key_translation tr); 00224 unsigned int read_keyboard_state(void); 00225 uint16 ui_get_numlock_state(unsigned int state); 00226 void reset_modifier_keys(void); 00227 void rdp_send_scancode(uint32 time, uint16 flags, uint8 scancode); 00228 /* xwin.c */ 00229 BOOL get_key_state(unsigned int state, uint32 keysym); 00230 BOOL ui_init(void); 00231 void ui_deinit(void); 00232 BOOL ui_create_window(void); 00233 void ui_resize_window(void); 00234 void ui_destroy_window(void); 00235 void xwin_toggle_fullscreen(void); 00236 int ui_select(int rdp_socket); 00237 void ui_move_pointer(int x, int y); 00238 RD_HBITMAP ui_create_bitmap(int width, int height, uint8 * data); 00239 void ui_paint_bitmap(int x, int y, int cx, int cy, int width, int height, uint8 * data); 00240 void ui_destroy_bitmap(RD_HBITMAP bmp); 00241 RD_HGLYPH ui_create_glyph(int width, int height, uint8 * data); 00242 void ui_destroy_glyph(RD_HGLYPH glyph); 00243 RD_HCURSOR ui_create_cursor(unsigned int x, unsigned int y, int width, int height, uint8 * andmask, 00244 uint8 * xormask); 00245 void ui_set_cursor(RD_HCURSOR cursor); 00246 void ui_destroy_cursor(RD_HCURSOR cursor); 00247 void ui_set_null_cursor(void); 00248 RD_HCOLOURMAP ui_create_colourmap(COLOURMAP * colours); 00249 void ui_destroy_colourmap(RD_HCOLOURMAP map); 00250 void ui_set_colourmap(RD_HCOLOURMAP map); 00251 void ui_set_clip(int x, int y, int cx, int cy); 00252 void ui_reset_clip(void); 00253 void ui_bell(void); 00254 void ui_destblt(uint8 opcode, int x, int y, int cx, int cy); 00255 void ui_patblt(uint8 opcode, int x, int y, int cx, int cy, BRUSH * brush, int bgcolour, 00256 int fgcolour); 00257 void ui_screenblt(uint8 opcode, int x, int y, int cx, int cy, int srcx, int srcy); 00258 void ui_memblt(uint8 opcode, int x, int y, int cx, int cy, RD_HBITMAP src, int srcx, int srcy); 00259 void ui_triblt(uint8 opcode, int x, int y, int cx, int cy, RD_HBITMAP src, int srcx, int srcy, 00260 BRUSH * brush, int bgcolour, int fgcolour); 00261 void ui_line(uint8 opcode, int startx, int starty, int endx, int endy, PEN * pen); 00262 void ui_rect(int x, int y, int cx, int cy, int colour); 00263 void ui_polygon(uint8 opcode, uint8 fillmode, POINT * point, int npoints, BRUSH * brush, 00264 int bgcolour, int fgcolour); 00265 void ui_polyline(uint8 opcode, POINT * points, int npoints, PEN * pen); 00266 void ui_ellipse(uint8 opcode, uint8 fillmode, int x, int y, int cx, int cy, BRUSH * brush, 00267 int bgcolour, int fgcolour); 00268 void ui_draw_glyph(int mixmode, int x, int y, int cx, int cy, RD_HGLYPH glyph, int srcx, int srcy, 00269 int bgcolour, int fgcolour); 00270 void ui_draw_text(uint8 font, uint8 flags, uint8 opcode, int mixmode, int x, int y, int clipx, 00271 int clipy, int clipcx, int clipcy, int boxx, int boxy, int boxcx, int boxcy, 00272 BRUSH * brush, int bgcolour, int fgcolour, uint8 * text, uint8 length); 00273 void ui_desktop_save(uint32 offset, int x, int y, int cx, int cy); 00274 void ui_desktop_restore(uint32 offset, int x, int y, int cx, int cy); 00275 void ui_begin_update(void); 00276 void ui_end_update(void); 00277 void ui_seamless_begin(BOOL hidden); 00278 void ui_seamless_hide_desktop(void); 00279 void ui_seamless_unhide_desktop(void); 00280 void ui_seamless_toggle(void); 00281 void ui_seamless_create_window(unsigned long id, unsigned long group, unsigned long parent, 00282 unsigned long flags); 00283 void ui_seamless_destroy_window(unsigned long id, unsigned long flags); 00284 void ui_seamless_move_window(unsigned long id, int x, int y, int width, int height, 00285 unsigned long flags); 00286 void ui_seamless_restack_window(unsigned long id, unsigned long behind, unsigned long flags); 00287 void ui_seamless_settitle(unsigned long id, const char *title, unsigned long flags); 00288 void ui_seamless_setstate(unsigned long id, unsigned int state, unsigned long flags); 00289 void ui_seamless_syncbegin(unsigned long flags); 00290 void ui_seamless_ack(unsigned int serial); 00291 /* lspci.c */ 00292 BOOL lspci_init(void); 00293 /* seamless.c */ 00294 BOOL seamless_init(void); 00295 unsigned int seamless_send_sync(void); 00296 unsigned int seamless_send_state(unsigned long id, unsigned int state, unsigned long flags); 00297 unsigned int seamless_send_position(unsigned long id, int x, int y, int width, int height, 00298 unsigned long flags); 00299 void seamless_select_timeout(struct timeval *tv); 00300 unsigned int seamless_send_zchange(unsigned long id, unsigned long below, unsigned long flags); 00301 unsigned int seamless_send_focus(unsigned long id, unsigned long flags); 00302 00303 /* *INDENT-OFF* */ 00304 #ifdef __cplusplus 00305 } 00306 #endif 00307 /* *INDENT-ON* */ Generated on Sun May 27 2012 04:17:10 for ReactOS by
1.7.6.1
|