Merge pull request #47 from awakecoding/master

API Exports
This commit is contained in:
Marc-André Moreau 2011-08-16 21:30:47 -07:00
commit 7747fdd4b2
48 changed files with 212 additions and 151 deletions

View File

@ -64,6 +64,7 @@ if(MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DFREERDP_EXPORTS")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWIN32_LEAN_AND_MEAN")
endif()
# Include files
@ -125,6 +126,9 @@ add_subdirectory(libfreerdp-cache)
add_subdirectory(libfreerdp-chanman)
add_subdirectory(libfreerdp-core)
add_subdirectory(libfreerdp-rfx)
add_subdirectory(channels)
if(NOT WIN32)
add_subdirectory(channels)
endif()
add_subdirectory(client)

View File

@ -18,12 +18,15 @@
* limitations under the License.
*/
#ifndef _WIN32
#include <sys/time.h>
#endif
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <sys/time.h>
#include <sys/stat.h>
#include <freerdp/utils/memory.h>
#include <freerdp/utils/stream.h>

View File

@ -18,10 +18,13 @@
* limitations under the License.
*/
#ifndef _WIN32
#include <sys/time.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/time.h>
#include <freerdp/constants.h>
#include <freerdp/types.h>
#include <freerdp/utils/memory.h>

View File

@ -19,9 +19,11 @@
# User Interfaces
add_subdirectory(test)
if(NOT WIN32)
# Build Test Client
add_subdirectory(test)
# Build X11 Client
find_package(X11)
if(X11_FOUND)

View File

@ -21,6 +21,10 @@
#include <unistd.h>
#include <pthread.h>
#include <sys/select.h>
#else
#include <winsock2.h>
#include <Windows.h>
#include <ws2tcpip.h>
#endif
#include <errno.h>
@ -43,7 +47,7 @@
struct tf_info
{
void* data;
};
typedef struct tf_info tfInfo;

View File

@ -20,6 +20,7 @@
#ifndef __BITMAP_V2_CACHE_H
#define __BITMAP_V2_CACHE_H
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/utils/stream.h>
@ -44,10 +45,10 @@ struct rdp_bitmap_v2
};
typedef struct rdp_bitmap_v2 rdpBitmapV2;
void* bitmap_v2_get(rdpBitmapV2* bitmap_v2, uint8 id, uint16 index);
void bitmap_v2_put(rdpBitmapV2* bitmap_v2, uint8 id, uint16 index, void* entry);
FREERDP_API void* bitmap_v2_get(rdpBitmapV2* bitmap_v2, uint8 id, uint16 index);
FREERDP_API void bitmap_v2_put(rdpBitmapV2* bitmap_v2, uint8 id, uint16 index, void* entry);
rdpBitmapV2* bitmap_v2_new(rdpSettings* settings);
void bitmap_v2_free(rdpBitmapV2* bitmap_v2);
FREERDP_API rdpBitmapV2* bitmap_v2_new(rdpSettings* settings);
FREERDP_API void bitmap_v2_free(rdpBitmapV2* bitmap_v2);
#endif /* __BITMAP_V2_CACHE_H */

View File

@ -20,6 +20,7 @@
#ifndef __BRUSH_CACHE_H
#define __BRUSH_CACHE_H
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/utils/stream.h>
@ -40,10 +41,10 @@ struct rdp_brush
};
typedef struct rdp_brush rdpBrush;
void* brush_get(rdpBrush* brush, uint8 index, uint8* bpp);
void brush_put(rdpBrush* brush, uint8 index, void* entry, uint8 bpp);
FREERDP_API void* brush_get(rdpBrush* brush, uint8 index, uint8* bpp);
FREERDP_API void brush_put(rdpBrush* brush, uint8 index, void* entry, uint8 bpp);
rdpBrush* brush_new(rdpSettings* settings);
void brush_free(rdpBrush* brush);
FREERDP_API rdpBrush* brush_new(rdpSettings* settings);
FREERDP_API void brush_free(rdpBrush* brush);
#endif /* __BRUSH_CACHE_H */

View File

@ -25,6 +25,7 @@
#include <freerdp/cache/offscreen.h>
#include <freerdp/cache/color_table.h>
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/utils/stream.h>
@ -40,7 +41,7 @@ struct rdp_cache
rdpColorTable* color_table;
};
rdpCache* cache_new(rdpSettings* settings);
void cache_free(rdpCache* cache);
FREERDP_API rdpCache* cache_new(rdpSettings* settings);
FREERDP_API void cache_free(rdpCache* cache);
#endif /* __CACHE_H */

View File

@ -20,6 +20,7 @@
#ifndef __COLOR_TABLE_CACHE_H
#define __COLOR_TABLE_CACHE_H
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/utils/stream.h>
@ -37,10 +38,10 @@ struct rdp_color_table
};
typedef struct rdp_color_table rdpColorTable;
void* color_table_get(rdpColorTable* color_table, uint8 index);
void color_table_put(rdpColorTable* color_table, uint8 index, void* entry);
FREERDP_API void* color_table_get(rdpColorTable* color_table, uint8 index);
FREERDP_API void color_table_put(rdpColorTable* color_table, uint8 index, void* entry);
rdpColorTable* color_table_new(rdpSettings* settings);
void color_table_free(rdpColorTable* color_table);
FREERDP_API rdpColorTable* color_table_new(rdpSettings* settings);
FREERDP_API void color_table_free(rdpColorTable* color_table);
#endif /* __COLOR_TABLE_CACHE_H */

View File

@ -20,6 +20,7 @@
#ifndef __OFFSCREEN_CACHE_H
#define __OFFSCREEN_CACHE_H
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/utils/stream.h>
@ -38,10 +39,10 @@ struct rdp_offscreen
};
typedef struct rdp_offscreen rdpOffscreen;
void* offscreen_get(rdpOffscreen* offscreen, uint16 index);
void offscreen_put(rdpOffscreen* offscreen, uint16 index, void* bitmap);
FREERDP_API void* offscreen_get(rdpOffscreen* offscreen, uint16 index);
FREERDP_API void offscreen_put(rdpOffscreen* offscreen, uint16 index, void* bitmap);
rdpOffscreen* offscreen_new(rdpSettings* settings);
void offscreen_free(rdpOffscreen* offscreen);
FREERDP_API rdpOffscreen* offscreen_new(rdpSettings* settings);
FREERDP_API void offscreen_free(rdpOffscreen* offscreen);
#endif /* __OFFSCREEN_CACHE_H */

View File

@ -20,6 +20,7 @@
#ifndef __COLOR_H
#define __COLOR_H
#include <freerdp/api.h>
#include <freerdp/freerdp.h>
#ifdef __cplusplus
@ -235,10 +236,10 @@ typedef CLRCONV* HCLRCONV;
typedef uint8* (*p_gdi_image_convert)(uint8* srcData, uint8* dstData, int width, int height, int srcBpp, int dstBpp, HCLRCONV clrconv);
uint32 gdi_color_convert(uint32 srcColor, int srcBpp, int dstBpp, HCLRCONV clrconv);
uint8* gdi_image_convert(uint8* srcData, uint8 *dstData, int width, int height, int srcBpp, int dstBpp, HCLRCONV clrconv);
uint8* gdi_glyph_convert(int width, int height, uint8* data);
uint8* gdi_mono_image_convert(uint8* srcData, int width, int height, int srcBpp, int dstBpp, uint32 bgcolor, uint32 fgcolor, HCLRCONV clrconv);
FREERDP_API uint32 gdi_color_convert(uint32 srcColor, int srcBpp, int dstBpp, HCLRCONV clrconv);
FREERDP_API uint8* gdi_image_convert(uint8* srcData, uint8 *dstData, int width, int height, int srcBpp, int dstBpp, HCLRCONV clrconv);
FREERDP_API uint8* gdi_glyph_convert(int width, int height, uint8* data);
FREERDP_API uint8* gdi_mono_image_convert(uint8* srcData, int width, int height, int srcBpp, int dstBpp, uint32 bgcolor, uint32 fgcolor, HCLRCONV clrconv);
#ifdef __cplusplus
}

View File

@ -20,9 +20,10 @@
#ifndef __GDI_H
#define __GDI_H
#include <freerdp/cache/cache.h>
#include "color.h"
#include <freerdp/api.h>
#include <freerdp/freerdp.h>
#include <freerdp/gdi/color.h>
#include <freerdp/cache/cache.h>
#include <freerdp/utils/debug.h>
/* For more information, see [MS-RDPEGDI] */
@ -248,16 +249,16 @@ struct _GDI
};
typedef struct _GDI GDI;
uint32 gdi_rop3_code(uint8 code);
void gdi_copy_mem(uint8 *d, uint8 *s, int n);
void gdi_copy_mem_backwards(uint8 *d, uint8 *s, int n);
uint8* gdi_get_bitmap_pointer(HGDI_DC hdcBmp, int x, int y);
uint8* gdi_get_brush_pointer(HGDI_DC hdcBrush, int x, int y);
int gdi_is_mono_pixel_set(uint8* data, int x, int y, int width);
GDI_IMAGE* gdi_bitmap_new(GDI *gdi, int width, int height, int bpp, uint8* data);
void gdi_bitmap_free(GDI_IMAGE *gdi_bmp);
int gdi_init(freerdp* instance, uint32 flags);
void gdi_free(freerdp* instance);
FREERDP_API uint32 gdi_rop3_code(uint8 code);
FREERDP_API void gdi_copy_mem(uint8 *d, uint8 *s, int n);
FREERDP_API void gdi_copy_mem_backwards(uint8 *d, uint8 *s, int n);
FREERDP_API uint8* gdi_get_bitmap_pointer(HGDI_DC hdcBmp, int x, int y);
FREERDP_API uint8* gdi_get_brush_pointer(HGDI_DC hdcBrush, int x, int y);
FREERDP_API int gdi_is_mono_pixel_set(uint8* data, int x, int y, int width);
FREERDP_API GDI_IMAGE* gdi_bitmap_new(GDI *gdi, int width, int height, int bpp, uint8* data);
FREERDP_API void gdi_bitmap_free(GDI_IMAGE *gdi_bmp);
FREERDP_API int gdi_init(freerdp* instance, uint32 flags);
FREERDP_API void gdi_free(freerdp* instance);
#define SET_GDI(_instance, _gdi) (_instance)->gdi = _gdi
#define GET_GDI(_instance) ((GDI*) ((_instance)->gdi))

View File

@ -20,6 +20,7 @@
#ifndef __FREERDP_KBD_H
#define __FREERDP_KBD_H
#include <freerdp/api.h>
#include <freerdp/types.h>
#define RDP_KEYBOARD_LAYOUT_TYPE_STANDARD 1
@ -32,13 +33,9 @@ typedef struct rdp_keyboard_layout
char name[50];
} rdpKeyboardLayout;
rdpKeyboardLayout *
freerdp_kbd_get_layouts(int types);
unsigned int
freerdp_kbd_init(void *dpy, unsigned int keyboard_layout_id);
uint8
freerdp_kbd_get_scancode_by_keycode(uint8 keycode, boolean * extended);
uint8
freerdp_kbd_get_scancode_by_virtualkey(int vkcode, boolean * extended);
FREERDP_API rdpKeyboardLayout* freerdp_kbd_get_layouts(int types);
FREERDP_API uint32 freerdp_kbd_init(void *dpy, uint32 keyboard_layout_id);
FREERDP_API uint8 freerdp_kbd_get_scancode_by_keycode(uint8 keycode, boolean* extended);
FREERDP_API uint8 freerdp_kbd_get_scancode_by_virtualkey(int vkcode, boolean* extended);
#endif /* __FREERDP_KBD_H */

View File

@ -22,6 +22,7 @@
#ifndef __LAYOUT_IDS_H
#define __LAYOUT_IDS_H
#include <freerdp/api.h>
#include <freerdp/kbd/kbd.h>
/* Keyboard layout IDs */
@ -177,7 +178,7 @@
#define KBD_CHINESE_TRADITIONAL_MICROSOFT_PINYIN_IME_3 0xE00E0804
#define KBD_CHINESE_TRADITIONAL_ALPHANUMERIC 0xE00F0404
rdpKeyboardLayout* get_keyboard_layouts(int types);
char* get_layout_name(unsigned int keyboardLayoutID);
FREERDP_API rdpKeyboardLayout* get_keyboard_layouts(int types);
FREERDP_API char* get_layout_name(uint32 keyboardLayoutID);
#endif

View File

@ -27,6 +27,8 @@
#ifndef __LOCALES_H
#define __LOCALES_H
#include <freerdp/api.h>
#define AFRIKAANS 0x0436
#define ALBANIAN 0x041c
#define ALSATIAN 0x0484
@ -320,7 +322,6 @@ Time zones, taken from Windows Server 2008
(GMT +13:00) Nuku'alofa
*/
unsigned int
detect_keyboard_layout_from_locale();
FREERDP_API uint32 detect_keyboard_layout_from_locale();
#endif /* __LOCALES_H */

View File

@ -23,6 +23,7 @@
#define __VKCODES_H
#include <stddef.h>
#include <freerdp/api.h>
#include <freerdp/kbd/layouts.h>
/* Mouse buttons */

View File

@ -20,6 +20,7 @@
#ifndef __RAIL_H
#define __RAIL_H
#include <freerdp/api.h>
#include <freerdp/rail.h>
#include <freerdp/types.h>
#include <freerdp/update.h>
@ -35,9 +36,9 @@ struct rdp_rail
rdpWindowList* list;
};
void rail_register_update_callbacks(rdpRail* rail, rdpUpdate* update);
FREERDP_API void rail_register_update_callbacks(rdpRail* rail, rdpUpdate* update);
rdpRail* rail_new();
void rail_free(rdpRail* rail);
FREERDP_API rdpRail* rail_new();
FREERDP_API void rail_free(rdpRail* rail);
#endif /* __RAIL_H */

View File

@ -20,6 +20,7 @@
#ifndef __WINDOW_H
#define __WINDOW_H
#include <freerdp/api.h>
#include <freerdp/rail.h>
#include <freerdp/types.h>
#include <freerdp/update.h>
@ -57,9 +58,9 @@ struct rdp_window
RECTANGLE_16* visibilityRects;
};
void window_state_update(rdpWindow* window, WINDOW_ORDER_INFO* orderInfo, WINDOW_STATE_ORDER* window_state);
FREERDP_API void window_state_update(rdpWindow* window, WINDOW_ORDER_INFO* orderInfo, WINDOW_STATE_ORDER* window_state);
rdpWindow* rail_CreateWindow(uint32 windowId);
void rail_DestroyWindow(rdpWindow* window);
FREERDP_API rdpWindow* rail_CreateWindow(uint32 windowId);
FREERDP_API void rail_DestroyWindow(rdpWindow* window);
#endif /* __WINDOW_H */

View File

@ -20,6 +20,7 @@
#ifndef __WINDOW_LIST_H
#define __WINDOW_LIST_H
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/update.h>
#include <freerdp/utils/stream.h>
@ -34,11 +35,11 @@ struct rdp_window_list
rdpWindow* tail;
};
void window_list_create(rdpWindowList* list, WINDOW_ORDER_INFO* orderInfo, WINDOW_STATE_ORDER* window_state);
void window_list_update(rdpWindowList* list, WINDOW_ORDER_INFO* orderInfo, WINDOW_STATE_ORDER* window_state);
void window_list_delete(rdpWindowList* list, WINDOW_ORDER_INFO* orderInfo);
FREERDP_API void window_list_create(rdpWindowList* list, WINDOW_ORDER_INFO* orderInfo, WINDOW_STATE_ORDER* window_state);
FREERDP_API void window_list_update(rdpWindowList* list, WINDOW_ORDER_INFO* orderInfo, WINDOW_STATE_ORDER* window_state);
FREERDP_API void window_list_delete(rdpWindowList* list, WINDOW_ORDER_INFO* orderInfo);
rdpWindowList* window_list_new();
void window_list_free(rdpWindowList* list);
FREERDP_API rdpWindowList* window_list_new();
FREERDP_API void window_list_free(rdpWindowList* list);
#endif /* __WINDOW_LIST_H */

View File

@ -20,6 +20,7 @@
#ifndef __RFX_H
#define __RFX_H
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/utils/stream.h>
@ -116,15 +117,15 @@ struct _RFX_CONTEXT
};
typedef struct _RFX_CONTEXT RFX_CONTEXT;
RFX_CONTEXT* rfx_context_new(void);
void rfx_context_free(RFX_CONTEXT* context);
void rfx_context_set_pixel_format(RFX_CONTEXT* context, RFX_PIXEL_FORMAT pixel_format);
FREERDP_API RFX_CONTEXT* rfx_context_new(void);
FREERDP_API void rfx_context_free(RFX_CONTEXT* context);
FREERDP_API void rfx_context_set_pixel_format(RFX_CONTEXT* context, RFX_PIXEL_FORMAT pixel_format);
RFX_MESSAGE* rfx_process_message(RFX_CONTEXT* context, STREAM* data_in);
void rfx_message_free(RFX_CONTEXT* context, RFX_MESSAGE* message);
FREERDP_API RFX_MESSAGE* rfx_process_message(RFX_CONTEXT* context, STREAM* data_in);
FREERDP_API void rfx_message_free(RFX_CONTEXT* context, RFX_MESSAGE* message);
void rfx_compose_message_header(RFX_CONTEXT* context, STREAM* data_out);
void rfx_compose_message_data(RFX_CONTEXT* context, STREAM* data_out,
FREERDP_API void rfx_compose_message_header(RFX_CONTEXT* context, STREAM* data_out);
FREERDP_API void rfx_compose_message_data(RFX_CONTEXT* context, STREAM* data_out,
const RFX_RECT* rects, int num_rects, uint8* image_data, int width, int height, int rowstride);
#ifdef __cplusplus

View File

@ -20,6 +20,7 @@
#ifndef __ARGS_UTILS_H
#define __ARGS_UTILS_H
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/settings.h>
@ -31,7 +32,7 @@ typedef int (*ProcessPluginArgs) (rdpSettings* settings, const char* name,
typedef int (*ProcessUIArgs) (rdpSettings* settings, const char* opt,
const char* val, void* user_data);
int freerdp_parse_args(rdpSettings* settings, int argc, char** argv,
FREERDP_API int freerdp_parse_args(rdpSettings* settings, int argc, char** argv,
ProcessPluginArgs plugin_callback, void* plugin_user_data,
ProcessUIArgs ui_callback, void* ui_user_data);

View File

@ -20,6 +20,8 @@
#ifndef __BLOB_UTILS_H
#define __BLOB_UTILS_H
#include <freerdp/api.h>
struct rdp_blob
{
void* data;
@ -27,7 +29,7 @@ struct rdp_blob
};
typedef struct rdp_blob rdpBlob;
void freerdp_blob_alloc(rdpBlob* blob, int length);
void freerdp_blob_free(rdpBlob* blob);
FREERDP_API void freerdp_blob_alloc(rdpBlob* blob, int length);
FREERDP_API void freerdp_blob_free(rdpBlob* blob);
#endif /* __BLOB_UTILS_H */

View File

@ -20,6 +20,8 @@
#ifndef __DSP_UTILS_H
#define __DSP_UTILS_H
#include <freerdp/api.h>
struct _ADPCM
{
sint16 last_sample[2];
@ -27,13 +29,13 @@ struct _ADPCM
};
typedef struct _ADPCM ADPCM;
uint8* dsp_resample(uint8* src, int bytes_per_sample,
FREERDP_API uint8* dsp_resample(uint8* src, int bytes_per_sample,
uint32 schan, uint32 srate, int sframes,
uint32 rchan, uint32 rrate, int * prframes);
uint8* dsp_decode_ima_adpcm(ADPCM* adpcm,
FREERDP_API uint8* dsp_decode_ima_adpcm(ADPCM* adpcm,
uint8* src, int size, int channels, int block_size, int* out_size);
uint8* dsp_encode_ima_adpcm(ADPCM* adpcm,
FREERDP_API uint8* dsp_encode_ima_adpcm(ADPCM* adpcm,
uint8* src, int size, int channels, int block_size, int* out_size);
#endif /* __DSP_UTILS_H */

View File

@ -20,10 +20,11 @@
#ifndef __EVENT_UTILS_H
#define __EVENT_UTILS_H
#include <freerdp/api.h>
#include <freerdp/types.h>
FRDP_EVENT* freerdp_event_new(uint16 event_class, uint16 event_type,
FREERDP_API FRDP_EVENT* freerdp_event_new(uint16 event_class, uint16 event_type,
FRDP_EVENT_CALLBACK on_event_free_callback, void* user_data);
void freerdp_event_free(FRDP_EVENT* event);
FREERDP_API void freerdp_event_free(FRDP_EVENT* event);
#endif

View File

@ -20,8 +20,10 @@
#ifndef __UTILS_HEXDUMP_H
#define __UTILS_HEXDUMP_H
#include <freerdp/api.h>
#define FREERDP_HEXDUMP_LINE_LENGTH 16
void freerdp_hexdump(uint8* data, int length);
FREERDP_API void freerdp_hexdump(uint8* data, int length);
#endif /* __UTILS_HEXDUMP_H */

View File

@ -20,6 +20,7 @@
#ifndef __LIST_UTILS_H
#define __LIST_UTILS_H
#include <freerdp/api.h>
#include <freerdp/utils/memory.h>
typedef struct _LIST_ITEM LIST_ITEM;
@ -38,11 +39,11 @@ struct _LIST
LIST_ITEM* tail;
};
LIST* list_new(void);
void list_free(LIST* list);
void list_enqueue(LIST* list, void* data);
void* list_dequeue(LIST* list);
FREERDP_API LIST* list_new(void);
FREERDP_API void list_free(LIST* list);
FREERDP_API void list_enqueue(LIST* list, void* data);
FREERDP_API void* list_dequeue(LIST* list);
#define list_add(_l, _d) list_enqueue(_l, _d)
void* list_remove(LIST* list, void* data);
FREERDP_API void* list_remove(LIST* list, void* data);
#endif /* __LIST_UTILS_H */

View File

@ -20,6 +20,8 @@
#ifndef __LOAD_PLUGIN_UTILS_H
#define __LOAD_PLUGIN_UTILS_H
void* freerdp_load_plugin(const char* name, const char* entry_name);
#include <freerdp/api.h>
FREERDP_API void* freerdp_load_plugin(const char* name, const char* entry_name);
#endif /* __LOAD_PLUGIN_UTILS_H */

View File

@ -21,12 +21,13 @@
#define __MEMORY_UTILS_H
#include <stddef.h>
#include <freerdp/api.h>
void* xmalloc(size_t size);
void* xzalloc(size_t size);
void* xrealloc(void* ptr, size_t size);
void xfree(void* ptr);
char* xstrdup(const char* str);
FREERDP_API void* xmalloc(size_t size);
FREERDP_API void* xzalloc(size_t size);
FREERDP_API void* xrealloc(void* ptr, size_t size);
FREERDP_API void xfree(void* ptr);
FREERDP_API char* xstrdup(const char* str);
#define xnew(_type) (_type*)xzalloc(sizeof(_type))

View File

@ -20,11 +20,13 @@
#ifndef __MUTEX_UTILS_H
#define __MUTEX_UTILS_H
#include <freerdp/api.h>
typedef void* freerdp_mutex;
freerdp_mutex freerdp_mutex_new(void);
void freerdp_mutex_free(freerdp_mutex mutex);
void freerdp_mutex_lock(freerdp_mutex mutex);
void freerdp_mutex_unlock(freerdp_mutex mutex);
FREERDP_API freerdp_mutex freerdp_mutex_new(void);
FREERDP_API void freerdp_mutex_free(freerdp_mutex mutex);
FREERDP_API void freerdp_mutex_lock(freerdp_mutex mutex);
FREERDP_API void freerdp_mutex_unlock(freerdp_mutex mutex);
#endif /* __MUTEX_UTILS_H */

View File

@ -20,6 +20,8 @@
#ifndef __UTILS_PROFILER_H
#define __UTILS_PROFILER_H
#include <freerdp/api.h>
#include "config.h"
#include <stdio.h>
@ -34,15 +36,15 @@ struct _PROFILER
};
typedef struct _PROFILER PROFILER;
PROFILER* profiler_create(char* name);
void profiler_free(PROFILER* profiler);
FREERDP_API PROFILER* profiler_create(char* name);
FREERDP_API void profiler_free(PROFILER* profiler);
void profiler_enter(PROFILER* profiler);
void profiler_exit(PROFILER* profiler);
FREERDP_API void profiler_enter(PROFILER* profiler);
FREERDP_API void profiler_exit(PROFILER* profiler);
void profiler_print_header();
void profiler_print(PROFILER* profiler);
void profiler_print_footer();
FREERDP_API void profiler_print_header();
FREERDP_API void profiler_print(PROFILER* profiler);
FREERDP_API void profiler_print_footer();
#ifdef WITH_PROFILER
#define IF_PROFILER(then) then

View File

@ -20,15 +20,16 @@
#ifndef __RAIL_UTILS_H
#define __RAIL_UTILS_H
#include <freerdp/api.h>
#include <freerdp/rail.h>
#include <freerdp/utils/stream.h>
void rail_unicode_string_alloc(UNICODE_STRING* unicode_string, uint16 cbString);
void rail_unicode_string_free(UNICODE_STRING* unicode_string);
void rail_read_unicode_string(STREAM* s, UNICODE_STRING* unicode_string);
void rail_write_unicode_string(STREAM* s, UNICODE_STRING* unicode_string);
void rail_write_unicode_string_value(STREAM* s, UNICODE_STRING* unicode_string);
void rail_read_rectangle_16(STREAM* s, RECTANGLE_16* rectangle_16);
void rail_write_rectangle_16(STREAM* s, RECTANGLE_16* rectangle_16);
FREERDP_API void rail_unicode_string_alloc(UNICODE_STRING* unicode_string, uint16 cbString);
FREERDP_API void rail_unicode_string_free(UNICODE_STRING* unicode_string);
FREERDP_API void rail_read_unicode_string(STREAM* s, UNICODE_STRING* unicode_string);
FREERDP_API void rail_write_unicode_string(STREAM* s, UNICODE_STRING* unicode_string);
FREERDP_API void rail_write_unicode_string_value(STREAM* s, UNICODE_STRING* unicode_string);
FREERDP_API void rail_read_rectangle_16(STREAM* s, RECTANGLE_16* rectangle_16);
FREERDP_API void rail_write_rectangle_16(STREAM* s, RECTANGLE_16* rectangle_16);
#endif /* __RAIL_UTILS_H */

View File

@ -25,6 +25,7 @@ typedef struct rdp_registry rdpRegistry;
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <freerdp/api.h>
#include <freerdp/freerdp.h>
#include <freerdp/settings.h>
#include <freerdp/utils/memory.h>
@ -61,11 +62,11 @@ struct rdp_registry
struct rdp_settings* settings;
};
void registry_open(rdpRegistry* registry);
void registry_close(rdpRegistry* registry);
FREERDP_API void registry_open(rdpRegistry* registry);
FREERDP_API void registry_close(rdpRegistry* registry);
void registry_init(rdpRegistry* registry);
rdpRegistry* registry_new(rdpSettings* settings);
void registry_free(rdpRegistry* registry);
FREERDP_API void registry_init(rdpRegistry* registry);
FREERDP_API rdpRegistry* registry_new(rdpSettings* settings);
FREERDP_API void registry_free(rdpRegistry* registry);
#endif /* __REGISTRY_UTILS_H */

View File

@ -20,11 +20,13 @@
#ifndef __SEMAPHORE_UTILS_H
#define __SEMAPHORE_UTILS_H
#include <freerdp/api.h>
typedef void* freerdp_sem;
freerdp_sem freerdp_sem_new(int iv);
void freerdp_sem_free(freerdp_sem sem);
void freerdp_sem_signal(freerdp_sem sem);
void freerdp_sem_wait(freerdp_sem sem);
FREERDP_API freerdp_sem freerdp_sem_new(int iv);
FREERDP_API void freerdp_sem_free(freerdp_sem sem);
FREERDP_API void freerdp_sem_signal(freerdp_sem sem);
FREERDP_API void freerdp_sem_wait(freerdp_sem sem);
#endif /* __SEMAPHORE_UTILS_H */

View File

@ -20,8 +20,9 @@
#ifndef __SLEEP_UTILS_H
#define __SLEEP_UTILS_H
#include <freerdp/api.h>
#include <freerdp/types.h>
void freerdp_usleep(uint32 useconds);
FREERDP_API void freerdp_usleep(uint32 useconds);
#endif /* __SLEEP_UTILS_H */

View File

@ -20,8 +20,9 @@
#ifndef __UTILS_STOPWATCH_H
#define __UTILS_STOPWATCH_H
#include <freerdp/utils/memory.h>
#include <time.h>
#include <freerdp/api.h>
#include <freerdp/utils/memory.h>
struct _STOPWATCH
{
@ -32,12 +33,12 @@ struct _STOPWATCH
};
typedef struct _STOPWATCH STOPWATCH;
STOPWATCH* stopwatch_create();
void stopwatch_free(STOPWATCH* stopwatch);
FREERDP_API STOPWATCH* stopwatch_create();
FREERDP_API void stopwatch_free(STOPWATCH* stopwatch);
void stopwatch_start(STOPWATCH* stopwatch);
void stopwatch_stop(STOPWATCH* stopwatch);
void stopwatch_reset(STOPWATCH* stopwatch);
FREERDP_API void stopwatch_start(STOPWATCH* stopwatch);
FREERDP_API void stopwatch_stop(STOPWATCH* stopwatch);
FREERDP_API void stopwatch_reset(STOPWATCH* stopwatch);
double stopwatch_get_elapsed_time_in_seconds(STOPWATCH* stopwatch);

View File

@ -22,6 +22,7 @@
#define __STREAM_UTILS_H
#include <string.h>
#include <freerdp/api.h>
#include <freerdp/types.h>
struct _STREAM
@ -32,8 +33,8 @@ struct _STREAM
};
typedef struct _STREAM STREAM;
STREAM* stream_new(int size);
void stream_free(STREAM* stream);
FREERDP_API STREAM* stream_new(int size);
FREERDP_API void stream_free(STREAM* stream);
#define stream_attach(_s, _buf, _size) do { \
_s->size = _size; \
@ -42,7 +43,7 @@ void stream_free(STREAM* stream);
#define stream_detach(_s) memset(_s, 0, sizeof(STREAM))
#define stream_clear(_s) memset(_s->data, 0, _s->size)
void stream_extend(STREAM* stream, int request_size);
FREERDP_API void stream_extend(STREAM* stream, int request_size);
#define stream_check_size(_s, _n) \
while (_s->p - _s->data + (_n) > _s->size) \
stream_extend(_s, _n)

View File

@ -23,6 +23,7 @@
/* static channel plugin base implementation */
#include <freerdp/api.h>
#include <freerdp/svc.h>
#include <freerdp/utils/stream.h>
#include <freerdp/utils/event.h>
@ -30,6 +31,7 @@
typedef struct rdp_svc_plugin_private rdpSvcPluginPrivate;
typedef struct rdp_svc_plugin rdpSvcPlugin;
struct rdp_svc_plugin
{
CHANNEL_ENTRY_POINTS_EX channel_entry_points;
@ -46,9 +48,9 @@ struct rdp_svc_plugin
rdpSvcPluginPrivate* priv;
};
void svc_plugin_init(rdpSvcPlugin* plugin, CHANNEL_ENTRY_POINTS* pEntryPoints);
int svc_plugin_send(rdpSvcPlugin* plugin, STREAM* data_out);
int svc_plugin_send_event(rdpSvcPlugin* plugin, FRDP_EVENT* event);
FREERDP_API void svc_plugin_init(rdpSvcPlugin* plugin, CHANNEL_ENTRY_POINTS* pEntryPoints);
FREERDP_API int svc_plugin_send(rdpSvcPlugin* plugin, STREAM* data_out);
FREERDP_API int svc_plugin_send_event(rdpSvcPlugin* plugin, FRDP_EVENT* event);
#define svc_plugin_get_data(_p) (FRDP_PLUGIN_DATA*)(((rdpSvcPlugin*)_p)->channel_entry_points.pExtendedData)

View File

@ -20,6 +20,7 @@
#ifndef __THREAD_UTILS_H
#define __THREAD_UTILS_H
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/utils/mutex.h>
#include <freerdp/utils/wait_obj.h>
@ -28,6 +29,7 @@
#endif
typedef struct _freerdp_thread freerdp_thread;
struct _freerdp_thread
{
freerdp_mutex* mutex;
@ -38,9 +40,9 @@ struct _freerdp_thread
int status;
};
freerdp_thread* freerdp_thread_new(void);
void freerdp_thread_start(freerdp_thread* thread, void* func, void* arg);
void freerdp_thread_stop(freerdp_thread* thread);
FREERDP_API freerdp_thread* freerdp_thread_new(void);
FREERDP_API void freerdp_thread_start(freerdp_thread* thread, void* func, void* arg);
FREERDP_API void freerdp_thread_stop(freerdp_thread* thread);
#define freerdp_thread_wait(_t) wait_obj_select(_t->signals, _t->num_signals, -1)
#define freerdp_thread_wait_timeout(_t, _timeout) wait_obj_select(_t->signals, _t->num_signals, _timeout)

View File

@ -22,6 +22,7 @@
#include <stdio.h>
#include <string.h>
#include <freerdp/api.h>
#define DEFAULT_CODEPAGE "UTF-8"
#define WINDOWS_CODEPAGE "UTF-16LE"
@ -44,10 +45,10 @@ struct _UNICONV
};
typedef struct _UNICONV UNICONV;
UNICONV* freerdp_uniconv_new();
void freerdp_uniconv_free(UNICONV *uniconv);
char* freerdp_uniconv_in(UNICONV *uniconv, unsigned char* pin, size_t in_len);
char* freerdp_uniconv_out(UNICONV *uniconv, char *str, size_t *pout_len);
void freerdp_uniconv_uppercase(UNICONV *uniconv, char *wstr, int length);
FREERDP_API UNICONV* freerdp_uniconv_new();
FREERDP_API void freerdp_uniconv_free(UNICONV *uniconv);
FREERDP_API char* freerdp_uniconv_in(UNICONV *uniconv, unsigned char* pin, size_t in_len);
FREERDP_API char* freerdp_uniconv_out(UNICONV *uniconv, char *str, size_t *pout_len);
FREERDP_API void freerdp_uniconv_uppercase(UNICONV *uniconv, char *wstr, int length);
#endif /* __UNICODE_UTILS_H */

View File

@ -20,12 +20,14 @@
#ifndef __WAIT_OBJ_UTILS
#define __WAIT_OBJ_UTILS
struct wait_obj* wait_obj_new(void);
void wait_obj_free(struct wait_obj* obj);
int wait_obj_is_set(struct wait_obj* obj);
void wait_obj_set(struct wait_obj* obj);
void wait_obj_clear(struct wait_obj* obj);
int wait_obj_select(struct wait_obj** listobj, int numobj, int timeout);
void wait_obj_get_fds(struct wait_obj* obj, void** fds, int* count);
#include <freerdp/api.h>
FREERDP_API struct wait_obj* wait_obj_new(void);
FREERDP_API void wait_obj_free(struct wait_obj* obj);
FREERDP_API int wait_obj_is_set(struct wait_obj* obj);
FREERDP_API void wait_obj_set(struct wait_obj* obj);
FREERDP_API void wait_obj_clear(struct wait_obj* obj);
FREERDP_API int wait_obj_select(struct wait_obj** listobj, int numobj, int timeout);
FREERDP_API void wait_obj_get_fds(struct wait_obj* obj, void** fds, int* count);
#endif

View File

@ -26,7 +26,7 @@ set(FREERDP_CACHE_SRCS
add_library(freerdp-cache SHARED ${FREERDP_CACHE_SRCS})
set_target_properties(freerdp-cache PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION})
set_target_properties(freerdp-cache PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
target_link_libraries(freerdp-cache freerdp-utils)

View File

@ -23,7 +23,7 @@ set(FREERDP_CHANMAN_SRCS
add_library(freerdp-chanman SHARED ${FREERDP_CHANMAN_SRCS})
set_target_properties(freerdp-chanman PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION})
set_target_properties(freerdp-chanman PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
target_link_libraries(freerdp-chanman freerdp-utils)
install(TARGETS freerdp-chanman DESTINATION lib)

View File

@ -88,6 +88,8 @@ set(LIBFREERDP_CORE_SRCS
add_library(freerdp-core SHARED ${LIBFREERDP_CORE_SRCS})
set_target_properties(freerdp-core PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
if(WIN32)
target_link_libraries(freerdp-core ws2_32)
else()

View File

@ -52,6 +52,6 @@ add_library(freerdp-gdi SHARED ${FREERDP_GDI_SRCS})
target_link_libraries(freerdp-gdi freerdp-cache)
target_link_libraries(freerdp-gdi freerdp-rfx)
set_target_properties(freerdp-gdi PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION})
set_target_properties(freerdp-gdi PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
install(TARGETS freerdp-gdi DESTINATION lib)

View File

@ -38,7 +38,7 @@ endif()
add_definitions(-DKEYMAP_PATH="${FREERDP_KEYMAP_PATH}")
set_target_properties(freerdp-kbd PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION})
set_target_properties(freerdp-kbd PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
install(TARGETS freerdp-kbd DESTINATION lib)

View File

@ -24,7 +24,7 @@ set(FREERDP_RAIL_SRCS
add_library(freerdp-rail SHARED ${FREERDP_RAIL_SRCS})
set_target_properties(freerdp-rail PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION})
set_target_properties(freerdp-rail PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
target_link_libraries(freerdp-rail freerdp-utils)

View File

@ -41,6 +41,8 @@ set(LIBFREERDP_RFX_SRCS
add_library(freerdp-rfx SHARED ${LIBFREERDP_RFX_SRCS})
set_target_properties(freerdp-rfx PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
target_link_libraries(freerdp-rfx freerdp-utils)
if(WITH_SSE2)

View File

@ -46,7 +46,7 @@ add_definitions(-DPLUGIN_PATH="${FREERDP_PLUGIN_PATH}")
add_library(freerdp-utils SHARED ${FREERDP_UTILS_SRCS})
set_target_properties(freerdp-utils PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION})
set_target_properties(freerdp-utils PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
target_link_libraries(freerdp-utils ${CMAKE_THREAD_LIBS_INIT})