~ubuntu-branches/ubuntu/maverick/librapi2/maverick

1.2.6 by Jonny Lamb
Import upstream version 0.15
1
/* $Id: rapi.h 3818 2009-07-26 19:14:30Z mark_ellis $ */
1 by Volker Christian
Import upstream version 0.8.9
2
#ifndef __rapi_h__
3
#define __rapi_h__
4
5
/*
6
 * Note on #ifndef SWIG preprocessor token.
7
 *
8
 * The scripting langauge code in the pyrapi module uses
1.1.2 by Volker Christian
Import upstream version 0.9.3
9
 * SWIG to generate the python wrapper code. To enable SWIG to
10
 * parse this header file some parts of it must be
11
 * selectively removed. SWIG defines "SWIG" as a
1 by Volker Christian
Import upstream version 0.8.9
12
 * preproccessor token when is it parsing headers.
13
 * Therefore where you see #ifndef SWIG declarations
14
 * in this header they are intended to remove elements for
15
 * which the SWIG wrapper provides alternative
16
 * declarations. In most cases this is type and function
1.1.2 by Volker Christian
Import upstream version 0.9.3
17
 * declarations.
1 by Volker Christian
Import upstream version 0.8.9
18
 */
19
20
#ifndef SWIG
21
#include <synce.h>
1.2.6 by Jonny Lamb
Import upstream version 0.15
22
#include <rapitypes.h>
23
#include <irapistream.h>
1 by Volker Christian
Import upstream version 0.8.9
24
#endif
25
26
#ifdef __cplusplus
27
namespace synce
28
{
29
extern "C"
30
{
31
#endif
32
33
/*
1.2.1 by Stephan Hermann
Import upstream version 0.9.1
34
 * SynCE support for switching between multiple devices
35
 *
36
 * Example code for two devices follows!
37
 *
38
 * It shows two different ways to get a RapiConnection object.
39
 *
1.2.3 by Jonny Lamb
Import upstream version 0.11
40
 *   RapiConnection* a = rapi_connection_from_name("device_a");
1.2.1 by Stephan Hermann
Import upstream version 0.9.1
41
 *   rapi_connection_select(a);
42
 *   CeRapiInit()
43
 *
1.2.3 by Jonny Lamb
Import upstream version 0.11
44
 *   SynceInfo* info_b = synce_info_new("device_b");
1.2.1 by Stephan Hermann
Import upstream version 0.9.1
45
 *   RapiConnection* b = rapi_connection_from_info(info_b);
46
 *   rapi_connection_select(b);
47
 *   CeRapiInit()
48
 *
49
 *   rapi_connection_select(a);
50
 *   ...some RAPI calls to device A...
51
 *
52
 *   rapi_connection_select(b);
53
 *   ...some RAPI calls to device B...
54
 *
55
 *   rapi_connection_select(a);
56
 *   CeRapiUninit();
57
 *   rapi_connection_destroy(a);
1.1.2 by Volker Christian
Import upstream version 0.9.3
58
 *
1.2.1 by Stephan Hermann
Import upstream version 0.9.1
59
 *   rapi_connection_select(b);
60
 *   CeRapiUninit();
61
 *   rapi_connection_destroy(b);
1.2.3 by Jonny Lamb
Import upstream version 0.11
62
 *   synce_info_destroy(info_b);
1.2.1 by Stephan Hermann
Import upstream version 0.9.1
63
 */
64
65
typedef struct _RapiConnection RapiConnection;
66
1.1.2 by Volker Christian
Import upstream version 0.9.3
67
/**
68
 * Create a connection - use this before you call CeRapiInit()
1.2.1 by Stephan Hermann
Import upstream version 0.9.1
69
 *
70
 * @path Parameter sent to synce_info_new() in libsynce/lib/info.c
71
 */
1.2.3 by Jonny Lamb
Import upstream version 0.11
72
RapiConnection* rapi_connection_from_name(const char* device_name);
1.2.1 by Stephan Hermann
Import upstream version 0.9.1
73
1.1.2 by Volker Christian
Import upstream version 0.9.3
74
/**
1.2.1 by Stephan Hermann
Import upstream version 0.9.1
75
 * Create a connection - low-level version
76
 */
77
RapiConnection* rapi_connection_from_info(SynceInfo* info);
78
79
/** Select what connection is used for RAPI calls */
80
void rapi_connection_select(RapiConnection* connection);
81
82
/** Destroy connection object - use this after CeRapiUninit() */
83
void rapi_connection_destroy(RapiConnection* connection);
84
1.2.6 by Jonny Lamb
Import upstream version 0.15
85
/** get information about the connected device */
86
const char *rapi_connection_get_name(RapiConnection* connection);
87
bool rapi_connection_get_os_version(RapiConnection* connection, int *os_major, int *os_minor);
88
int rapi_connection_get_build_number(RapiConnection* connection);
89
int rapi_connection_get_processor_type(RapiConnection* connection);
90
const char *rapi_connection_get_os_name(RapiConnection* connection);
91
const char *rapi_connection_get_model(RapiConnection* connection);
92
const char *rapi_connection_get_device_ip(RapiConnection* connection);
93
const char *rapi_connection_get_local_ip(RapiConnection* connection);
94
/** this should not be used directly for data, only for monitoring purposes */
95
int rapi_connection_get_fd(RapiConnection* connection);
96
1.2.1 by Stephan Hermann
Import upstream version 0.9.1
97
/*
1 by Volker Christian
Import upstream version 0.8.9
98
 * Main RAPI functions
99
 */
100
101
#ifndef SWIG
1.1.2 by Volker Christian
Import upstream version 0.9.3
102
103
HRESULT CeRapiFreeBuffer(
1 by Volker Christian
Import upstream version 0.8.9
104
		LPVOID Buffer);
105
106
HRESULT CeRapiInit(void);
107
108
STDAPI CeRapiUninit(void);
109
1.1.1 by Volker Christian
Import upstream version 0.9.0
110
HRESULT CeRapiGetError(void);
111
1.1.2 by Volker Christian
Import upstream version 0.9.3
112
/** Not part of the real RAPI.
113
 * Use it instead of Win32's GetLastError() */
114
DWORD CeRapiGetLastError();
115
1 by Volker Christian
Import upstream version 0.8.9
116
#endif /* SWIG */
117
118
119
/*
120
 * File access functions
121
 */
122
123
#ifndef SWIG
124
1.1.2 by Volker Christian
Import upstream version 0.9.3
125
BOOL CeCloseHandle(
1 by Volker Christian
Import upstream version 0.8.9
126
		HANDLE hObject);
127
128
HANDLE CeCreateFile(
1.1.2 by Volker Christian
Import upstream version 0.9.3
129
		LPCWSTR lpFileName,
130
		DWORD dwDesiredAccess,
131
		DWORD dwShareMode,
132
		LPSECURITY_ATTRIBUTES lpSecurityAttributes,
133
		DWORD dwCreationDisposition,
134
		DWORD dwFlagsAndAttributes,
135
		HANDLE hTemplateFile);
1 by Volker Christian
Import upstream version 0.8.9
136
1.1.2 by Volker Christian
Import upstream version 0.9.3
137
BOOL CeReadFile(
138
		HANDLE hFile,
139
		LPVOID lpBuffer,
140
		DWORD nNumberOfBytesToRead,
141
		LPDWORD lpNumberOfBytesRead,
142
		LPOVERLAPPED lpOverlapped);
143
144
BOOL CeWriteFile(
145
		HANDLE hFile,
146
		LPCVOID lpBuffer,
147
		DWORD nNumberOfBytesToWrite,
148
		LPDWORD lpNumberOfBytesWritten,
149
		LPOVERLAPPED lpOverlapped);
150
151
DWORD CeSetFilePointer(
152
		HANDLE hFile,
153
		LONG lDistanceToMove,
154
		PLONG lpDistanceToMoveHigh,
155
		DWORD dwMoveMethod);
156
1.2.3 by Jonny Lamb
Import upstream version 0.11
157
BOOL CeSetEndOfFile(
158
                HANDLE hObject);
159
1.1.2 by Volker Christian
Import upstream version 0.9.3
160
BOOL CeGetFileTime(
161
		HANDLE hFile,
162
		LPFILETIME lpCreationTime,
163
		LPFILETIME lpLastAccessTime,
164
		LPFILETIME lpLastWriteTime);
165
166
BOOL CeSetFileTime(
167
		HANDLE hFile,
168
		LPFILETIME lpCreationTime,
169
		LPFILETIME lpLastAccessTime,
170
		LPFILETIME lpLastWriteTime);
1 by Volker Christian
Import upstream version 0.8.9
171
172
#endif /* SWIG */
173
174
175
/*
176
 * File management functions
177
 */
178
179
#ifndef SWIG
180
1.2.6 by Jonny Lamb
Import upstream version 0.15
181
/* deprecated, use rapi_copy_file() */
1 by Volker Christian
Import upstream version 0.8.9
182
BOOL CeCopyFileA(
1.1.2 by Volker Christian
Import upstream version 0.9.3
183
		LPCSTR lpExistingFileName,
184
		LPCSTR lpNewFileName,
1 by Volker Christian
Import upstream version 0.8.9
185
		BOOL bFailIfExists);
186
187
BOOL CeCopyFile(
1.1.2 by Volker Christian
Import upstream version 0.9.3
188
		LPCWSTR lpExistingFileName,
189
		LPCWSTR lpNewFileName,
1 by Volker Christian
Import upstream version 0.8.9
190
		BOOL bFailIfExists);
191
192
BOOL CeCreateDirectory(
1.1.2 by Volker Christian
Import upstream version 0.9.3
193
		LPCWSTR lpPathName,
1 by Volker Christian
Import upstream version 0.8.9
194
		LPSECURITY_ATTRIBUTES lpSecurityAttributes);
195
196
BOOL CeDeleteFile(
197
		LPCWSTR lpFileName);
198
199
BOOL CeFindAllFiles(
1.1.2 by Volker Christian
Import upstream version 0.9.3
200
		LPCWSTR szPath,
201
		DWORD dwFlags,
202
		LPDWORD lpdwFoundCount,
1 by Volker Christian
Import upstream version 0.8.9
203
		LPLPCE_FIND_DATA ppFindDataArray);
204
205
HANDLE CeFindFirstFile(
1.1.2 by Volker Christian
Import upstream version 0.9.3
206
		LPCWSTR lpFileName,
1 by Volker Christian
Import upstream version 0.8.9
207
		LPCE_FIND_DATA lpFindFileData);
208
1.1.2 by Volker Christian
Import upstream version 0.9.3
209
BOOL CeFindNextFile(
210
		HANDLE hFindFile,
211
		LPCE_FIND_DATA lpFindFileData);
1 by Volker Christian
Import upstream version 0.8.9
212
213
BOOL CeFindClose(
214
		HANDLE hFindFile);
215
216
DWORD CeGetFileAttributes(
217
		LPCWSTR lpFileName);
218
1.1.2 by Volker Christian
Import upstream version 0.9.3
219
DWORD CeGetFileSize(
220
		HANDLE hFile,
221
		LPDWORD lpFileSizeHigh);
1 by Volker Christian
Import upstream version 0.8.9
222
1.1.2 by Volker Christian
Import upstream version 0.9.3
223
DWORD CeGetSpecialFolderPath(
224
		int nFolder,
225
		DWORD nBufferLength,
1 by Volker Christian
Import upstream version 0.8.9
226
		LPWSTR lpBuffer);
227
228
BOOL CeMoveFile(
1.1.2 by Volker Christian
Import upstream version 0.9.3
229
		LPCWSTR lpExistingFileName,
1 by Volker Christian
Import upstream version 0.8.9
230
		LPCWSTR lpNewFileName);
231
232
BOOL CeRemoveDirectory(
233
		LPCWSTR lpPathName);
234
235
BOOL CeSetFileAttributes(
236
		LPCWSTR lpFileName,
237
		DWORD dwFileAttributes);
238
1.1.2 by Volker Christian
Import upstream version 0.9.3
239
BOOL CeSHCreateShortcut(
1.2.6 by Jonny Lamb
Import upstream version 0.15
240
		LPCWSTR lpszShortcut,
241
		LPCWSTR lpszTarget);
1.1.2 by Volker Christian
Import upstream version 0.9.3
242
243
BOOL CeSyncTimeToPc();
244
1.2.6 by Jonny Lamb
Import upstream version 0.15
245
bool rapi_copy_file(
246
		const char *source_file_name,
247
		const char *dest_file_name,
248
		bool fail_if_exists);
249
1 by Volker Christian
Import upstream version 0.8.9
250
#endif /* SWIG */
251
252
253
/*
254
 * Database functions
255
 */
256
257
#ifndef SWIG
258
259
CEOID CeCreateDatabase(
1.1.2 by Volker Christian
Import upstream version 0.9.3
260
		LPWSTR lpszName,
261
		DWORD dwDbaseType,
262
		WORD wNumSortOrder,
1 by Volker Christian
Import upstream version 0.8.9
263
		SORTORDERSPEC *rgSortSpecs);
264
265
BOOL CeDeleteDatabase(
266
		CEOID oid);
267
268
BOOL CeFindAllDatabases(
1.1.2 by Volker Christian
Import upstream version 0.9.3
269
		DWORD dwDbaseType,
270
		WORD wFlags,
271
		LPWORD cFindData,
1 by Volker Christian
Import upstream version 0.8.9
272
		LPLPCEDB_FIND_DATA ppFindData);
273
274
HANDLE CeFindFirstDatabase(
275
		DWORD dwDbaseType);
276
277
CEOID CeFindNextDatabase(
278
		HANDLE hEnum);
279
280
HANDLE CeOpenDatabase(
1.1.2 by Volker Christian
Import upstream version 0.9.3
281
		PCEOID poid,
282
		LPWSTR lpszName,
283
		CEPROPID propid,
284
		DWORD dwFlags,
285
		HWND hwndNotify);
1 by Volker Christian
Import upstream version 0.8.9
286
287
CEOID CeReadRecordProps(
1.1.2 by Volker Christian
Import upstream version 0.9.3
288
		HANDLE hDbase,
289
		DWORD dwFlags,
290
		LPWORD lpcPropID,
291
		CEPROPID *rgPropID,
292
		LPBYTE *lplpBuffer,
293
		LPDWORD lpcbBuffer);
1 by Volker Christian
Import upstream version 0.8.9
294
295
CEOID CeSeekDatabase(
1.1.2 by Volker Christian
Import upstream version 0.9.3
296
		HANDLE hDatabase,
297
		DWORD dwSeekType,
298
		DWORD dwValue,
1 by Volker Christian
Import upstream version 0.8.9
299
		LPDWORD lpdwIndex);
300
301
CEOID CeWriteRecordProps(
1.1.2 by Volker Christian
Import upstream version 0.9.3
302
		HANDLE hDbase,
303
		CEOID oidRecord,
304
		WORD cPropID,
1.2.1 by Stephan Hermann
Import upstream version 0.9.1
305
		CEPROPVAL *rgPropVal);
306
307
BOOL CeDeleteRecord(
1.2.6 by Jonny Lamb
Import upstream version 0.15
308
		HANDLE hDatabase,
309
		CEOID oidRecord);
1.2.1 by Stephan Hermann
Import upstream version 0.9.1
310
1.1.2 by Volker Christian
Import upstream version 0.9.3
311
BOOL CeSetDatabaseInfo(
1.2.6 by Jonny Lamb
Import upstream version 0.15
312
		CEOID oidDbase,
313
		CEDBASEINFO* pNewInfo);
1 by Volker Christian
Import upstream version 0.8.9
314
315
#endif /* SWIG */
316
317
/*
318
 * Registry
319
 */
320
321
#ifndef SWIG
322
1.1.2 by Volker Christian
Import upstream version 0.9.3
323
LONG CeRegCreateKeyEx(
324
		HKEY hKey,
325
		LPCWSTR lpszSubKey,
326
		DWORD Reserved,
327
		LPWSTR lpszClass,
328
		DWORD ulOptions,
329
		REGSAM samDesired,
330
		LPSECURITY_ATTRIBUTES lpSecurityAttributes,
331
		PHKEY phkResult,
1 by Volker Christian
Import upstream version 0.8.9
332
		LPDWORD lpdwDisposition);
333
334
LONG CeRegOpenKeyEx(
1.1.2 by Volker Christian
Import upstream version 0.9.3
335
		HKEY hKey,
336
		LPCWSTR lpszSubKey,
337
		DWORD ulOptions,
338
		REGSAM samDesired,
1 by Volker Christian
Import upstream version 0.8.9
339
		PHKEY phkResult);
340
341
LONG CeRegCloseKey(
342
		HKEY hKey);
343
1.1.2 by Volker Christian
Import upstream version 0.9.3
344
LONG CeRegDeleteKey(
345
		HKEY hKey,
346
		LPCWSTR lpszSubKey);
347
348
LONG CeRegDeleteValue(
349
		HKEY hKey,
350
		LPCWSTR lpszValueName);
351
352
LONG CeRegQueryInfoKey(
353
		HKEY hKey,
354
		LPWSTR lpClass,
355
		LPDWORD lpcbClass,
356
		LPDWORD lpReserved,
357
		LPDWORD lpcSubKeys,
358
		LPDWORD lpcbMaxSubKeyLen,
359
		LPDWORD lpcbMaxClassLen,
360
		LPDWORD lpcValues,
361
		LPDWORD lpcbMaxValueNameLen,
362
		LPDWORD lpcbMaxValueLen,
363
		LPDWORD lpcbSecurityDescriptor,
364
		PFILETIME lpftLastWriteTime);
365
366
LONG CeRegQueryValueEx(
367
		HKEY hKey,
368
		LPCWSTR lpValueName,
369
		LPDWORD lpReserved,
370
		LPDWORD lpType,
371
		LPBYTE lpData,
372
		LPDWORD lpcbData);
373
374
LONG CeRegEnumValue(
375
		HKEY hKey,
376
		DWORD dwIndex,
377
		LPWSTR lpszValueName,
378
		LPDWORD lpcbValueName,
379
		LPDWORD lpReserved,
380
		LPDWORD lpType,
381
		LPBYTE lpData,
382
		LPDWORD lpcbData);
383
384
LONG CeRegEnumKeyEx(
385
		HKEY hKey,
386
		DWORD dwIndex,
387
		LPWSTR lpName,
388
		LPDWORD lpcbName,
389
		LPDWORD lpReserved,
390
		LPWSTR lpClass,
391
		LPDWORD lpcbClass,
392
		PFILETIME lpftLastWriteTime);
393
394
LONG CeRegSetValueEx(
395
		HKEY hKey,
396
		LPCWSTR lpValueName,
397
		DWORD Reserved,
398
		DWORD dwType,
399
		const BYTE *lpData,
1 by Volker Christian
Import upstream version 0.8.9
400
		DWORD cbData);
401
402
/*
403
 * Convenience functions for easy registry access
404
 */
405
406
bool rapi_reg_create_key(
407
		HKEY parent,
1.1.2 by Volker Christian
Import upstream version 0.9.3
408
		const char* name,
1 by Volker Christian
Import upstream version 0.8.9
409
		HKEY* key);
410
411
bool rapi_reg_open_key(
412
		HKEY parent, const char* name, HKEY* key);
413
414
bool rapi_reg_query_dword(
1.1.2 by Volker Christian
Import upstream version 0.9.3
415
		HKEY key,
416
		const char* name,
1 by Volker Christian
Import upstream version 0.8.9
417
		DWORD* value);
418
419
bool rapi_reg_query_string(
1.1.2 by Volker Christian
Import upstream version 0.9.3
420
		HKEY key,
421
		const char* name,
1 by Volker Christian
Import upstream version 0.8.9
422
		char** value);
423
424
#define rapi_reg_free_string(str) wstr_free_string(str)
425
426
bool rapi_reg_set_dword(
1.1.2 by Volker Christian
Import upstream version 0.9.3
427
		HKEY key,
428
		const char* name,
1 by Volker Christian
Import upstream version 0.8.9
429
		DWORD value);
430
431
bool rapi_reg_set_string(
432
		HKEY key,
433
		const char* name,
434
		const char *value);
435
436
#endif /* SWIG */
437
438
/*
439
 * Misc functions
440
 */
441
442
/* Flags for CeProcessConfig */
443
444
#define CONFIG_PROCESS_DOCUMENT   1
445
#define CONFIG_RETURN_METADATA    2
446
447
#ifndef SWIG
448
1.1.2 by Volker Christian
Import upstream version 0.9.3
449
BOOL CeCheckPassword(
1 by Volker Christian
Import upstream version 0.8.9
450
		LPWSTR lpszPassword);
451
452
BOOL CeCreateProcess(
1.1.2 by Volker Christian
Import upstream version 0.9.3
453
		LPCWSTR lpApplicationName,
454
		LPCWSTR lpCommandLine,
455
		void* lpProcessAttributes,
456
		void* lpThreadAttributes,
457
		BOOL bInheritHandles,
458
		DWORD dwCreationFlags,
459
		LPVOID lpEnvironment,
460
		LPWSTR lpCurrentDirectory,
461
		void* lpStartupInfo,
1 by Volker Christian
Import upstream version 0.8.9
462
		LPPROCESS_INFORMATION lpProcessInformation);
463
464
DWORD CeGetLastError( void );
465
1.1.2 by Volker Christian
Import upstream version 0.9.3
466
BOOL CeGetStoreInformation(
1 by Volker Christian
Import upstream version 0.8.9
467
		LPSTORE_INFORMATION lpsi);
468
1.1.2 by Volker Christian
Import upstream version 0.9.3
469
void CeGetSystemInfo(
1 by Volker Christian
Import upstream version 0.8.9
470
		LPSYSTEM_INFO lpSystemInfo);
471
472
BOOL CeGetSystemPowerStatusEx(PSYSTEM_POWER_STATUS_EX pSystemPowerStatus, BOOL refresh);
473
474
BOOL CeGetVersionEx(
475
		LPCEOSVERSIONINFO lpVersionInformation);
476
477
BOOL CeOidGetInfo(
1.1.2 by Volker Christian
Import upstream version 0.9.3
478
		CEOID oid,
479
		CEOIDINFO *poidInfo);
1 by Volker Christian
Import upstream version 0.8.9
480
481
HRESULT CeProcessConfig(LPCWSTR config, DWORD flags, LPWSTR* reply);
482
1.1.2 by Volker Christian
Import upstream version 0.9.3
483
BOOL CeStartReplication( void );
484
485
HRESULT CeSyncStart( LPCWSTR params );
486
487
HRESULT CeSyncResume( void );
488
489
HRESULT CeSyncPause( void );
490
1 by Volker Christian
Import upstream version 0.8.9
491
BOOL CeGetSystemMemoryDivision(
1.1.2 by Volker Christian
Import upstream version 0.9.3
492
    LPDWORD lpdwStoragePages,
493
    LPDWORD lpdwRamPages,
1 by Volker Christian
Import upstream version 0.8.9
494
    LPDWORD lpdwPageSize);
495
496
DWORD CeSetSystemMemoryDivision(
497
    DWORD dwStoragePages);
498
1.2.1 by Stephan Hermann
Import upstream version 0.9.1
499
BOOL CeRegCopyFile(LPCWSTR filename);
500
BOOL CeRegRestoreFile(LPCWSTR filename);
501
502
BOOL CeKillAllApps();
503
1.2.3 by Jonny Lamb
Import upstream version 0.11
504
DWORD CeGetDiskFreeSpaceEx( 
1.2.6 by Jonny Lamb
Import upstream version 0.15
505
		LPCTSTR lpDirectoryName, 
506
		PULARGE_INTEGER lpFreeBytesAvailable, 
507
		PULARGE_INTEGER lpTotalNumberOfBytes, 
508
		PULARGE_INTEGER lpTotalNumberOfFreeBytes);
1.2.3 by Jonny Lamb
Import upstream version 0.11
509
1 by Volker Christian
Import upstream version 0.8.9
510
#endif /* SWIG */
511
512
/*
513
 * CeRapiInvoke stuff
514
 */
515
516
#ifndef SWIG
517
1.1.2 by Volker Christian
Import upstream version 0.9.3
518
HRESULT CeRapiInvoke(
519
		LPCWSTR pDllPath,
520
		LPCWSTR pFunctionName,
521
		DWORD cbInput,
522
		const BYTE *pInput,
523
		DWORD *pcbOutput,
524
		BYTE **ppOutput,
525
		IRAPIStream **ppIRAPIStream,
1 by Volker Christian
Import upstream version 0.8.9
526
		DWORD dwReserved);
527
1.2.6 by Jonny Lamb
Import upstream version 0.15
528
/* deprecated, use rapi_invoke() */
1 by Volker Christian
Import upstream version 0.8.9
529
HRESULT CeRapiInvokeA(
1.1.2 by Volker Christian
Import upstream version 0.9.3
530
		LPCSTR pDllPath,
531
		LPCSTR pFunctionName,
532
		DWORD cbInput,
533
		const BYTE *pInput,
534
		DWORD *pcbOutput,
535
		BYTE **ppOutput,
536
		IRAPIStream **ppIRAPIStream,
1 by Volker Christian
Import upstream version 0.8.9
537
		DWORD dwReserved);
538
1.2.6 by Jonny Lamb
Import upstream version 0.15
539
HRESULT rapi_invoke( /*{{{*/
540
		const char *dll_path,
541
		const char *function_name,
542
		DWORD cbInput,
543
		const BYTE *pInput,
544
		DWORD *pcbOutput,
545
		BYTE **ppOutput,
546
		IRAPIStream **ppIRAPIStream,
547
		DWORD dwReserved);
548
1 by Volker Christian
Import upstream version 0.8.9
549
#endif /* SWIG */
550
551
#ifdef __cplusplus
552
}
553
}
554
#endif
555
556
#endif
557