-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtclstorage.h
46 lines (38 loc) · 1.33 KB
/
tclstorage.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* tclstorage.h - Copyright (C) 2005 Pat Thoyts <[email protected]>
*
* $Id$
*/
#define WIN32_LEAN_AND_MEAN
#define STRICT
#include <ole2.h>
#include <tcl.h>
#include <errno.h>
#include <time.h>
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLEXPORT
typedef struct Ensemble {
const char *name; /* subcommand name */
Tcl_ObjCmdProc *command; /* implementation OR */
struct Ensemble *ensemble; /* subcommand ensemble */
} Ensemble;
typedef struct EnsembleCmdData {
struct Ensemble *ensemble;
ClientData clientData;
} EnsembleCmdData;
typedef struct {
IStorage *pstg;
int mode;
Tcl_Obj *children;
} Storage;
#define STGM_APPEND 0x00000004 /* unused bit in Win32 enum */
#define STGM_TRUNC 0x00004000 /* " " */
#define STGM_WIN32MASK 0xFFFFBFFB /* mask to remove private bits */
#define STGM_STREAMMASK 0xFFFFAFF8 /* mask off the access, create and
append bits */
EXTERN int Storage_Init(Tcl_Interp *interp);
EXTERN int Storage_SafeInit(Tcl_Interp *interp);
EXTERN Tcl_ObjCmdProc Storage_OpenStorage;
int GetStorageFlagsFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *flagsPtr);
Tcl_ObjCmdProc StoragePropertySetCmd;
Tcl_ObjCmdProc TclEnsembleCmd;
Tcl_Obj *Win32Error(const char * szPrefix, HRESULT hr);