Merge pull request #49 from TheBlueMatt/main
[ldk-c-bindings] / lightning-c-bindings / include / ldk_rust_types.h
1 #if defined(__GNUC__)
2 #define MUST_USE_STRUCT __attribute__((warn_unused))
3 #define MUST_USE_RES __attribute__((warn_unused_result))
4 #else
5 #define MUST_USE_STRUCT
6 #define MUST_USE_RES
7 #endif
8 #if defined(__clang__)
9 #define NONNULL_PTR _Nonnull
10 #else
11 #define NONNULL_PTR
12 #endif
13 struct nativeTxCreationKeysOpaque;
14 typedef struct nativeTxCreationKeysOpaque LDKnativeTxCreationKeys;
15 struct nativeChannelPublicKeysOpaque;
16 typedef struct nativeChannelPublicKeysOpaque LDKnativeChannelPublicKeys;
17 struct nativeHTLCOutputInCommitmentOpaque;
18 typedef struct nativeHTLCOutputInCommitmentOpaque LDKnativeHTLCOutputInCommitment;
19 struct nativeChannelTransactionParametersOpaque;
20 typedef struct nativeChannelTransactionParametersOpaque LDKnativeChannelTransactionParameters;
21 struct nativeCounterpartyChannelTransactionParametersOpaque;
22 typedef struct nativeCounterpartyChannelTransactionParametersOpaque LDKnativeCounterpartyChannelTransactionParameters;
23 struct nativeDirectedChannelTransactionParametersOpaque;
24 typedef struct nativeDirectedChannelTransactionParametersOpaque LDKnativeDirectedChannelTransactionParameters;
25 struct nativeHolderCommitmentTransactionOpaque;
26 typedef struct nativeHolderCommitmentTransactionOpaque LDKnativeHolderCommitmentTransaction;
27 struct nativeBuiltCommitmentTransactionOpaque;
28 typedef struct nativeBuiltCommitmentTransactionOpaque LDKnativeBuiltCommitmentTransaction;
29 struct nativeClosingTransactionOpaque;
30 typedef struct nativeClosingTransactionOpaque LDKnativeClosingTransaction;
31 struct nativeTrustedClosingTransactionOpaque;
32 typedef struct nativeTrustedClosingTransactionOpaque LDKnativeTrustedClosingTransaction;
33 struct nativeCommitmentTransactionOpaque;
34 typedef struct nativeCommitmentTransactionOpaque LDKnativeCommitmentTransaction;
35 struct nativeTrustedCommitmentTransactionOpaque;
36 typedef struct nativeTrustedCommitmentTransactionOpaque LDKnativeTrustedCommitmentTransaction;
37 struct nativeShutdownScriptOpaque;
38 typedef struct nativeShutdownScriptOpaque LDKnativeShutdownScript;
39 struct nativeInvalidShutdownScriptOpaque;
40 typedef struct nativeInvalidShutdownScriptOpaque LDKnativeInvalidShutdownScript;
41 struct nativeBackgroundProcessorOpaque;
42 typedef struct nativeBackgroundProcessorOpaque LDKnativeBackgroundProcessor;
43 struct nativeRouteHopOpaque;
44 typedef struct nativeRouteHopOpaque LDKnativeRouteHop;
45 struct nativeRouteOpaque;
46 typedef struct nativeRouteOpaque LDKnativeRoute;
47 struct nativeRouteParametersOpaque;
48 typedef struct nativeRouteParametersOpaque LDKnativeRouteParameters;
49 struct nativePayeeOpaque;
50 typedef struct nativePayeeOpaque LDKnativePayee;
51 struct nativeRouteHintOpaque;
52 typedef struct nativeRouteHintOpaque LDKnativeRouteHint;
53 struct nativeRouteHintHopOpaque;
54 typedef struct nativeRouteHintHopOpaque LDKnativeRouteHintHop;
55 struct nativeBestBlockOpaque;
56 typedef struct nativeBestBlockOpaque LDKnativeBestBlock;
57 struct nativeWatchedOutputOpaque;
58 typedef struct nativeWatchedOutputOpaque LDKnativeWatchedOutput;
59 struct nativeLockableScoreOpaque;
60 typedef struct nativeLockableScoreOpaque LDKnativeLockableScore;
61 struct nativeInitFeaturesOpaque;
62 typedef struct nativeInitFeaturesOpaque LDKnativeInitFeatures;
63 struct nativeNodeFeaturesOpaque;
64 typedef struct nativeNodeFeaturesOpaque LDKnativeNodeFeatures;
65 struct nativeChannelFeaturesOpaque;
66 typedef struct nativeChannelFeaturesOpaque LDKnativeChannelFeatures;
67 struct nativeInvoiceFeaturesOpaque;
68 typedef struct nativeInvoiceFeaturesOpaque LDKnativeInvoiceFeatures;
69 struct nativeScorerOpaque;
70 typedef struct nativeScorerOpaque LDKnativeScorer;
71 struct nativeScoringParametersOpaque;
72 typedef struct nativeScoringParametersOpaque LDKnativeScoringParameters;
73 struct nativeDelayedPaymentOutputDescriptorOpaque;
74 typedef struct nativeDelayedPaymentOutputDescriptorOpaque LDKnativeDelayedPaymentOutputDescriptor;
75 struct nativeStaticPaymentOutputDescriptorOpaque;
76 typedef struct nativeStaticPaymentOutputDescriptorOpaque LDKnativeStaticPaymentOutputDescriptor;
77 struct LDKBaseSign;
78 struct nativeInMemorySignerOpaque;
79 typedef struct nativeInMemorySignerOpaque LDKnativeInMemorySigner;
80 struct nativeKeysManagerOpaque;
81 typedef struct nativeKeysManagerOpaque LDKnativeKeysManager;
82 struct nativeFilesystemPersisterOpaque;
83 typedef struct nativeFilesystemPersisterOpaque LDKnativeFilesystemPersister;
84 struct nativeChannelManagerOpaque;
85 typedef struct nativeChannelManagerOpaque LDKnativeChannelManager;
86 struct nativeChainParametersOpaque;
87 typedef struct nativeChainParametersOpaque LDKnativeChainParameters;
88 struct nativeCounterpartyForwardingInfoOpaque;
89 typedef struct nativeCounterpartyForwardingInfoOpaque LDKnativeCounterpartyForwardingInfo;
90 struct nativeChannelCounterpartyOpaque;
91 typedef struct nativeChannelCounterpartyOpaque LDKnativeChannelCounterparty;
92 struct nativeChannelDetailsOpaque;
93 typedef struct nativeChannelDetailsOpaque LDKnativeChannelDetails;
94 struct nativeChannelManagerReadArgsOpaque;
95 typedef struct nativeChannelManagerReadArgsOpaque LDKnativeChannelManagerReadArgs;
96 struct nativeChannelHandshakeConfigOpaque;
97 typedef struct nativeChannelHandshakeConfigOpaque LDKnativeChannelHandshakeConfig;
98 struct nativeChannelHandshakeLimitsOpaque;
99 typedef struct nativeChannelHandshakeLimitsOpaque LDKnativeChannelHandshakeLimits;
100 struct nativeChannelConfigOpaque;
101 typedef struct nativeChannelConfigOpaque LDKnativeChannelConfig;
102 struct nativeUserConfigOpaque;
103 typedef struct nativeUserConfigOpaque LDKnativeUserConfig;
104 struct nativeOutPointOpaque;
105 typedef struct nativeOutPointOpaque LDKnativeOutPoint;
106 struct nativeInvoicePayerOpaque;
107 typedef struct nativeInvoicePayerOpaque LDKnativeInvoicePayer;
108 struct nativeRetryAttemptsOpaque;
109 typedef struct nativeRetryAttemptsOpaque LDKnativeRetryAttempts;
110 struct nativeInvoiceOpaque;
111 typedef struct nativeInvoiceOpaque LDKnativeInvoice;
112 struct nativeSignedRawInvoiceOpaque;
113 typedef struct nativeSignedRawInvoiceOpaque LDKnativeSignedRawInvoice;
114 struct nativeRawInvoiceOpaque;
115 typedef struct nativeRawInvoiceOpaque LDKnativeRawInvoice;
116 struct nativeRawDataPartOpaque;
117 typedef struct nativeRawDataPartOpaque LDKnativeRawDataPart;
118 struct nativePositiveTimestampOpaque;
119 typedef struct nativePositiveTimestampOpaque LDKnativePositiveTimestamp;
120 struct nativeSha256Opaque;
121 typedef struct nativeSha256Opaque LDKnativeSha256;
122 struct nativeDescriptionOpaque;
123 typedef struct nativeDescriptionOpaque LDKnativeDescription;
124 struct nativePayeePubKeyOpaque;
125 typedef struct nativePayeePubKeyOpaque LDKnativePayeePubKey;
126 struct nativeExpiryTimeOpaque;
127 typedef struct nativeExpiryTimeOpaque LDKnativeExpiryTime;
128 struct nativeMinFinalCltvExpiryOpaque;
129 typedef struct nativeMinFinalCltvExpiryOpaque LDKnativeMinFinalCltvExpiry;
130 struct nativeInvoiceSignatureOpaque;
131 typedef struct nativeInvoiceSignatureOpaque LDKnativeInvoiceSignature;
132 struct nativePrivateRouteOpaque;
133 typedef struct nativePrivateRouteOpaque LDKnativePrivateRoute;
134 struct nativeChannelMonitorUpdateOpaque;
135 typedef struct nativeChannelMonitorUpdateOpaque LDKnativeChannelMonitorUpdate;
136 struct nativeMonitorUpdateErrorOpaque;
137 typedef struct nativeMonitorUpdateErrorOpaque LDKnativeMonitorUpdateError;
138 struct nativeHTLCUpdateOpaque;
139 typedef struct nativeHTLCUpdateOpaque LDKnativeHTLCUpdate;
140 struct nativeChannelMonitorOpaque;
141 typedef struct nativeChannelMonitorOpaque LDKnativeChannelMonitor;
142 struct nativeIgnoringMessageHandlerOpaque;
143 typedef struct nativeIgnoringMessageHandlerOpaque LDKnativeIgnoringMessageHandler;
144 struct nativeErroringMessageHandlerOpaque;
145 typedef struct nativeErroringMessageHandlerOpaque LDKnativeErroringMessageHandler;
146 struct nativeMessageHandlerOpaque;
147 typedef struct nativeMessageHandlerOpaque LDKnativeMessageHandler;
148 struct nativePeerHandleErrorOpaque;
149 typedef struct nativePeerHandleErrorOpaque LDKnativePeerHandleError;
150 struct nativePeerManagerOpaque;
151 typedef struct nativePeerManagerOpaque LDKnativePeerManager;
152 struct nativeNodeIdOpaque;
153 typedef struct nativeNodeIdOpaque LDKnativeNodeId;
154 struct nativeNetworkGraphOpaque;
155 typedef struct nativeNetworkGraphOpaque LDKnativeNetworkGraph;
156 struct nativeReadOnlyNetworkGraphOpaque;
157 typedef struct nativeReadOnlyNetworkGraphOpaque LDKnativeReadOnlyNetworkGraph;
158 struct nativeNetGraphMsgHandlerOpaque;
159 typedef struct nativeNetGraphMsgHandlerOpaque LDKnativeNetGraphMsgHandler;
160 struct nativeDirectionalChannelInfoOpaque;
161 typedef struct nativeDirectionalChannelInfoOpaque LDKnativeDirectionalChannelInfo;
162 struct nativeChannelInfoOpaque;
163 typedef struct nativeChannelInfoOpaque LDKnativeChannelInfo;
164 struct nativeRoutingFeesOpaque;
165 typedef struct nativeRoutingFeesOpaque LDKnativeRoutingFees;
166 struct nativeNodeAnnouncementInfoOpaque;
167 typedef struct nativeNodeAnnouncementInfoOpaque LDKnativeNodeAnnouncementInfo;
168 struct nativeNodeInfoOpaque;
169 typedef struct nativeNodeInfoOpaque LDKnativeNodeInfo;
170 struct nativeDecodeErrorOpaque;
171 typedef struct nativeDecodeErrorOpaque LDKnativeDecodeError;
172 struct nativeInitOpaque;
173 typedef struct nativeInitOpaque LDKnativeInit;
174 struct nativeErrorMessageOpaque;
175 typedef struct nativeErrorMessageOpaque LDKnativeErrorMessage;
176 struct nativePingOpaque;
177 typedef struct nativePingOpaque LDKnativePing;
178 struct nativePongOpaque;
179 typedef struct nativePongOpaque LDKnativePong;
180 struct nativeOpenChannelOpaque;
181 typedef struct nativeOpenChannelOpaque LDKnativeOpenChannel;
182 struct nativeAcceptChannelOpaque;
183 typedef struct nativeAcceptChannelOpaque LDKnativeAcceptChannel;
184 struct nativeFundingCreatedOpaque;
185 typedef struct nativeFundingCreatedOpaque LDKnativeFundingCreated;
186 struct nativeFundingSignedOpaque;
187 typedef struct nativeFundingSignedOpaque LDKnativeFundingSigned;
188 struct nativeFundingLockedOpaque;
189 typedef struct nativeFundingLockedOpaque LDKnativeFundingLocked;
190 struct nativeShutdownOpaque;
191 typedef struct nativeShutdownOpaque LDKnativeShutdown;
192 struct nativeClosingSignedFeeRangeOpaque;
193 typedef struct nativeClosingSignedFeeRangeOpaque LDKnativeClosingSignedFeeRange;
194 struct nativeClosingSignedOpaque;
195 typedef struct nativeClosingSignedOpaque LDKnativeClosingSigned;
196 struct nativeUpdateAddHTLCOpaque;
197 typedef struct nativeUpdateAddHTLCOpaque LDKnativeUpdateAddHTLC;
198 struct nativeUpdateFulfillHTLCOpaque;
199 typedef struct nativeUpdateFulfillHTLCOpaque LDKnativeUpdateFulfillHTLC;
200 struct nativeUpdateFailHTLCOpaque;
201 typedef struct nativeUpdateFailHTLCOpaque LDKnativeUpdateFailHTLC;
202 struct nativeUpdateFailMalformedHTLCOpaque;
203 typedef struct nativeUpdateFailMalformedHTLCOpaque LDKnativeUpdateFailMalformedHTLC;
204 struct nativeCommitmentSignedOpaque;
205 typedef struct nativeCommitmentSignedOpaque LDKnativeCommitmentSigned;
206 struct nativeRevokeAndACKOpaque;
207 typedef struct nativeRevokeAndACKOpaque LDKnativeRevokeAndACK;
208 struct nativeUpdateFeeOpaque;
209 typedef struct nativeUpdateFeeOpaque LDKnativeUpdateFee;
210 struct nativeDataLossProtectOpaque;
211 typedef struct nativeDataLossProtectOpaque LDKnativeDataLossProtect;
212 struct nativeChannelReestablishOpaque;
213 typedef struct nativeChannelReestablishOpaque LDKnativeChannelReestablish;
214 struct nativeAnnouncementSignaturesOpaque;
215 typedef struct nativeAnnouncementSignaturesOpaque LDKnativeAnnouncementSignatures;
216 struct nativeUnsignedNodeAnnouncementOpaque;
217 typedef struct nativeUnsignedNodeAnnouncementOpaque LDKnativeUnsignedNodeAnnouncement;
218 struct nativeNodeAnnouncementOpaque;
219 typedef struct nativeNodeAnnouncementOpaque LDKnativeNodeAnnouncement;
220 struct nativeUnsignedChannelAnnouncementOpaque;
221 typedef struct nativeUnsignedChannelAnnouncementOpaque LDKnativeUnsignedChannelAnnouncement;
222 struct nativeChannelAnnouncementOpaque;
223 typedef struct nativeChannelAnnouncementOpaque LDKnativeChannelAnnouncement;
224 struct nativeUnsignedChannelUpdateOpaque;
225 typedef struct nativeUnsignedChannelUpdateOpaque LDKnativeUnsignedChannelUpdate;
226 struct nativeChannelUpdateOpaque;
227 typedef struct nativeChannelUpdateOpaque LDKnativeChannelUpdate;
228 struct nativeQueryChannelRangeOpaque;
229 typedef struct nativeQueryChannelRangeOpaque LDKnativeQueryChannelRange;
230 struct nativeReplyChannelRangeOpaque;
231 typedef struct nativeReplyChannelRangeOpaque LDKnativeReplyChannelRange;
232 struct nativeQueryShortChannelIdsOpaque;
233 typedef struct nativeQueryShortChannelIdsOpaque LDKnativeQueryShortChannelIds;
234 struct nativeReplyShortChannelIdsEndOpaque;
235 typedef struct nativeReplyShortChannelIdsEndOpaque LDKnativeReplyShortChannelIdsEnd;
236 struct nativeGossipTimestampFilterOpaque;
237 typedef struct nativeGossipTimestampFilterOpaque LDKnativeGossipTimestampFilter;
238 struct nativeLightningErrorOpaque;
239 typedef struct nativeLightningErrorOpaque LDKnativeLightningError;
240 struct nativeCommitmentUpdateOpaque;
241 typedef struct nativeCommitmentUpdateOpaque LDKnativeCommitmentUpdate;
242 struct nativeDefaultRouterOpaque;
243 typedef struct nativeDefaultRouterOpaque LDKnativeDefaultRouter;
244 struct nativeRecordOpaque;
245 typedef struct nativeRecordOpaque LDKnativeRecord;
246 struct nativeMonitorUpdateIdOpaque;
247 typedef struct nativeMonitorUpdateIdOpaque LDKnativeMonitorUpdateId;
248 struct nativeLockedChannelMonitorOpaque;
249 typedef struct nativeLockedChannelMonitorOpaque LDKnativeLockedChannelMonitor;
250 struct nativeChainMonitorOpaque;
251 typedef struct nativeChainMonitorOpaque LDKnativeChainMonitor;