whelk/_whelk.h
author J. Ali Harlow <ali@juiblex.co.uk>
Tue Feb 09 00:42:09 2010 +0000 (2010-02-09)
changeset 14 1a62417393a2
parent 3 47fa028d40b3
child 18 30dd8888a271
permissions -rw-r--r--
Release version 0.3.1
     1 #include <lua.h>
     2 #include <lualib.h>
     3 #include <unistd.h>			/* For ssize_t */
     4 #ifdef __WIN32__
     5 #include <windows.h>
     6 #endif
     7 #include <whelk/whelk.h>
     8 
     9 #define whelk_reg_const(L,name) \
    10     do { \
    11 	lua_pushliteral(L,#name); \
    12 	lua_pushnumber(L,name); \
    13 	lua_settable(L,-3); \
    14     } while(0)
    15 
    16 struct whelk_string {
    17     size_t len,alloc;
    18     char *buffer;
    19 };
    20 
    21 #ifdef __WIN32__
    22 struct whelk_wait {
    23     int no_objects;
    24     HANDLE *objects;
    25 };
    26 #endif
    27 
    28 int whelk_perror(lua_State *L,const char *s);
    29 int whelk_get_folder_path(lua_State *L);
    30 void whelk_open_get_folder_path(lua_State *L);
    31 void whelk_open_reg_keys(lua_State *L);
    32 int whelk_create_short_cut(lua_State *L);
    33 int whelk_spawn(lua_State *L);
    34 
    35 char *whelk_string_prealloc(struct whelk_string *string,size_t len);
    36 void whelk_string_seek(struct whelk_string *string,ssize_t offset);
    37 char *whelk_string_finalize(struct whelk_string *string);
    38 void whelk_string_free(struct whelk_string *string);
    39 
    40 #ifdef __WIN32__
    41 char *whelk_utf16_to_utf8(const WCHAR *ucs2,int len);
    42 WCHAR *whelk_utf8_to_utf16(const char *utf8,int len);
    43 
    44 HRESULT whelk_reg_close_key(HKEY key);
    45 HRESULT whelk_reg_open_key(HKEY key,const char *subkey,HKEY *out);
    46 HRESULT whelk_reg_get_value(HKEY key,const char *subkey,const char *value,
    47   DWORD *type,void **data,DWORD *nb);
    48 HRESULT whelk_reg_set_value(HKEY key,const char *subkey,const char *value,
    49   DWORD type,const void *data,int nb);
    50 HRESULT whelk_reg_delete_key(HKEY key,const char *subkey);
    51 
    52 int whelk_wait_add_object(struct whelk_wait *wait,HANDLE object);
    53 void whelk_wait_remove_object(struct whelk_wait *wait,HANDLE object);
    54 HANDLE whelk_wait_poll(struct whelk_wait *wait);
    55 void whelk_wait_free(struct whelk_wait *wait);
    56 
    57 int whelk_crypt_cat_admin_new(lua_State *L);
    58 
    59 int whelk_setup_copy_oem_inf(lua_State *L);
    60 int whelk_setup_uninstall_oem_inf(lua_State *L);
    61 void whelk_open_setup(lua_State *L);
    62 #endif