-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathBNInteractionHandlerCallbacks.cs
More file actions
171 lines (154 loc) · 6.59 KB
/
Copy pathBNInteractionHandlerCallbacks.cs
File metadata and controls
171 lines (154 loc) · 6.59 KB
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
using System;
using System.Runtime.InteropServices;
namespace BinaryNinja
{
internal static partial class NativeDelegates
{
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
internal delegate void BNInteractionReport(
IntPtr context,
IntPtr view,
[MarshalAs(UnmanagedType.LPUTF8Str)] string title,
[MarshalAs(UnmanagedType.LPUTF8Str)] string contents
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
internal delegate void BNInteractionRichReport(
IntPtr context,
IntPtr view,
[MarshalAs(UnmanagedType.LPUTF8Str)] string title,
[MarshalAs(UnmanagedType.LPUTF8Str)] string contents,
[MarshalAs(UnmanagedType.LPUTF8Str)] string plainText
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
internal delegate void BNInteractionGraphReport(
IntPtr context,
IntPtr view,
[MarshalAs(UnmanagedType.LPUTF8Str)] string title,
IntPtr graph
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
internal delegate void BNInteractionReportCollection(
IntPtr context,
[MarshalAs(UnmanagedType.LPUTF8Str)] string title,
IntPtr reports
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
internal delegate bool BNInteractionStringInput(
IntPtr context,
IntPtr result,
[MarshalAs(UnmanagedType.LPUTF8Str)] string prompt,
[MarshalAs(UnmanagedType.LPUTF8Str)] string value
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
internal delegate bool BNInteractionIntegerInput(
IntPtr context,
IntPtr result,
[MarshalAs(UnmanagedType.LPUTF8Str)] string prompt,
[MarshalAs(UnmanagedType.LPUTF8Str)] string title
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
internal delegate bool BNInteractionAddressInput(
IntPtr context,
IntPtr result,
[MarshalAs(UnmanagedType.LPUTF8Str)] string prompt,
[MarshalAs(UnmanagedType.LPUTF8Str)] string title,
IntPtr view,
ulong currentAddress
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
internal delegate bool BNInteractionChoiceInput(
IntPtr context,
IntPtr result,
[MarshalAs(UnmanagedType.LPUTF8Str)] string prompt,
[MarshalAs(UnmanagedType.LPUTF8Str)] string title,
IntPtr choices,
UIntPtr count
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
internal delegate bool BNInteractionSaveFileInput(
IntPtr context,
IntPtr result,
[MarshalAs(UnmanagedType.LPUTF8Str)] string prompt,
[MarshalAs(UnmanagedType.LPUTF8Str)] string extension,
[MarshalAs(UnmanagedType.LPUTF8Str)] string defaultName
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
internal delegate bool BNInteractionCheckboxInput(
IntPtr context,
IntPtr result,
[MarshalAs(UnmanagedType.LPUTF8Str)] string prompt,
[MarshalAs(UnmanagedType.LPUTF8Str)] string title,
IntPtr defaultChoice
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
internal delegate bool BNInteractionFormInput(
IntPtr context,
IntPtr fields,
UIntPtr count,
[MarshalAs(UnmanagedType.LPUTF8Str)] string title
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
internal delegate MessageBoxButtonResult BNInteractionMessageBox(
IntPtr context,
[MarshalAs(UnmanagedType.LPUTF8Str)] string title,
[MarshalAs(UnmanagedType.LPUTF8Str)] string text,
MessageBoxButtonSet buttons,
MessageBoxIcon icon
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
internal delegate bool BNInteractionOpenUrl(
IntPtr context,
[MarshalAs(UnmanagedType.LPUTF8Str)] string url
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
internal delegate bool BNInteractionProgressDialog(
IntPtr context,
[MarshalAs(UnmanagedType.LPUTF8Str)] string title,
[MarshalAs(UnmanagedType.I1)] bool canCancel,
IntPtr task,
IntPtr taskContext
);
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Cdecl)]
internal delegate void BNInteractionProgressTask(
IntPtr taskContext,
IntPtr progress,
IntPtr progressContext
);
}
[StructLayout(LayoutKind.Sequential)]
internal struct BNInteractionHandlerCallbacks
{
internal IntPtr context;
internal IntPtr showPlainTextReport;
internal IntPtr showMarkdownReport;
internal IntPtr showHTMLReport;
internal IntPtr showGraphReport;
internal IntPtr showReportCollection;
internal IntPtr getTextLineInput;
internal IntPtr getIntegerInput;
internal IntPtr getAddressInput;
internal IntPtr getChoiceInput;
internal IntPtr getLargeChoiceInput;
internal IntPtr getOpenFileNameInput;
internal IntPtr getSaveFileNameInput;
internal IntPtr getDirectoryNameInput;
internal IntPtr getCheckboxInput;
internal IntPtr getFormInput;
internal IntPtr showMessageBox;
internal IntPtr openUrl;
internal IntPtr runProgressDialog;
}
/// <summary>Retained for source compatibility.</summary>
public class InteractionHandlerCallbacks
{
}
}