-
Notifications
You must be signed in to change notification settings - Fork 23
/
SPASM.idl
146 lines (115 loc) · 3.58 KB
/
SPASM.idl
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
import "oaidl.idl";
import "ocidl.idl";
/*
[
object,
uuid(9E52A44E-9B78-4662-B423-9A70A9D76140),
dual,
nonextensible,
pointer_default(unique)
]
interface IStringCollection : IDispatch
{
[propget]
HRESULT Count([out, retval] LONG *Count);
[id(DISPID_VALUE), propget]
HRESULT Item([in] LONG Index, [out, retval] BSTR **Item);
[id(DISPID_NEWENUM), propget, hidden]
HRESULT _NewEnum([out, retval] IUnknown** ppEnum);
[helpstring("Add a new string")]
HRESULT Add([in] BSTR Name, [out, retval] BSTR **Value);
[helpstring("Remove a string")]
HRESULT Remove([in] BSTR Name);
[helpstring("Clears the collection")]
HRESULT Clear();
}
*/
[
object,
uuid(CC851E27-B58F-40DC-AB58-63AFE27BC4D7),
odl,
dual,
oleautomation,
nonextensible,
pointer_default(unique)
]
interface IIncludeDirectoryCollection : IDispatch
{
[propget]
HRESULT Count([out, retval] LONG *Count);
[propget, id(DISPID_VALUE)]
HRESULT Item([in] LONG Index, [out, retval] BSTR *Item);
[propget, restricted, hidden, id(DISPID_NEWENUM)]
HRESULT _NewEnum([out, retval] IUnknown** ppEnum);
[helpstring("Add a new string")]
HRESULT Add([in] BSTR Name);
[helpstring("Remove a string")]
HRESULT Remove([in] BSTR Name);
[helpstring("Clears the collection")]
HRESULT Clear();
}
enum ASSEMBLYOPTIONS {
NORMAL = 1,
CODE_COUNTER = 2,
SYMTABLE = 4,
STATS = 8,
LIST = 16,
COMMANDLINE = 32,
} ;
[
uuid(16387CF3-1B28-46C0-ABA9-5DEC7A8FA7AA),
version(1.2),
helpstring("SPASM Z80 Assembler 1.2 Type Library"),
]
library SPASM
{
importlib("stdole2.tlb");
importlib("scrrun.dll");
[
object,
uuid(4B8E17F3-2326-453D-AF80-E5CC0CA52373),
dual,
nonextensible,
pointer_default(unique)
]
interface IZ80Assembler : IDispatch
{
[propget, helpstring("Preprocessor definitions")]
HRESULT Defines([out, retval] Scripting.IDictionary **Defines);
[propget, helpstring("Current labels for the assembly environment")]
HRESULT Labels([out, retval] Scripting.IDictionary **Labels);
[propget, helpstring("Output text")]
HRESULT StdOut([out, retval] Scripting.ITextStream **OutputStream);
[propget, helpstring("Input file")]
HRESULT InputFile([out, retval] BSTR *InputFile);
[propput, helpstring("Input file")]
HRESULT InputFile([in] BSTR InputFile);
[propget, helpstring("Output file")]
HRESULT OutputFile([out, retval] BSTR *OutputFile);
[propput, helpstring("Output file")]
HRESULT OutputFile([in] BSTR OutputFile);
[propget, helpstring("Assembly options")]
HRESULT Options([out, retval] DWORD *Options);
[propput, helpstring("Assembly options")]
HRESULT Options([in] DWORD Options);
[propget, helpstring("Case sensitivity")]
HRESULT CaseSensitive([out, retval] VARIANT_BOOL *IsCaseSensitive);
[propput, helpstring("Case sensitivity")]
HRESULT CaseSensitive([in] VARIANT_BOOL IsCaseSensitive);
[propget, helpstring("Current directory")]
HRESULT CurrentDirectory([out, retval] BSTR *CurrentDirectory);
[propput, helpstring("Current directory")]
HRESULT CurrentDirectory([in] BSTR CurrentDirectory);
[propget, helpstring("Collection of additional include directories")]
HRESULT IncludeDirectories([out, retval] IIncludeDirectoryCollection **IncludeDirectories);
[helpstring("Assemble a buffer or filename and return the output stream")]
HRESULT Assemble([in, optional] VARIANT Input, [out, retval] IStream **Output);
}
[
uuid(BDD26FAE-A388-4860-9D4E-669809BC8EC2)
]
coclass Z80Assembler
{
[default] interface IZ80Assembler;
};
};