Merge pull request #25 from TheBlueMatt/2021-04-bp-inclusion
[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 nativeCommitmentTransactionOpaque;
30 typedef struct nativeCommitmentTransactionOpaque LDKnativeCommitmentTransaction;
31 struct nativeTrustedCommitmentTransactionOpaque;
32 typedef struct nativeTrustedCommitmentTransactionOpaque LDKnativeTrustedCommitmentTransaction;
33 struct nativeBackgroundProcessorOpaque;
34 typedef struct nativeBackgroundProcessorOpaque LDKnativeBackgroundProcessor;
35 struct nativeRouteHopOpaque;
36 typedef struct nativeRouteHopOpaque LDKnativeRouteHop;
37 struct nativeRouteOpaque;
38 typedef struct nativeRouteOpaque LDKnativeRoute;
39 struct nativeRouteHintHopOpaque;
40 typedef struct nativeRouteHintHopOpaque LDKnativeRouteHintHop;
41 struct nativeWatchedOutputOpaque;
42 typedef struct nativeWatchedOutputOpaque LDKnativeWatchedOutput;
43 struct nativeInitFeaturesOpaque;
44 typedef struct nativeInitFeaturesOpaque LDKnativeInitFeatures;
45 struct nativeNodeFeaturesOpaque;
46 typedef struct nativeNodeFeaturesOpaque LDKnativeNodeFeatures;
47 struct nativeChannelFeaturesOpaque;
48 typedef struct nativeChannelFeaturesOpaque LDKnativeChannelFeatures;
49 struct nativeInvoiceFeaturesOpaque;
50 typedef struct nativeInvoiceFeaturesOpaque LDKnativeInvoiceFeatures;
51 struct nativeDelayedPaymentOutputDescriptorOpaque;
52 typedef struct nativeDelayedPaymentOutputDescriptorOpaque LDKnativeDelayedPaymentOutputDescriptor;
53 struct nativeStaticPaymentOutputDescriptorOpaque;
54 typedef struct nativeStaticPaymentOutputDescriptorOpaque LDKnativeStaticPaymentOutputDescriptor;
55 struct LDKBaseSign;
56 typedef struct LDKBaseSign LDKBaseSign;
57 struct nativeInMemorySignerOpaque;
58 typedef struct nativeInMemorySignerOpaque LDKnativeInMemorySigner;
59 struct nativeKeysManagerOpaque;
60 typedef struct nativeKeysManagerOpaque LDKnativeKeysManager;
61 struct nativeFilesystemPersisterOpaque;
62 typedef struct nativeFilesystemPersisterOpaque LDKnativeFilesystemPersister;
63 struct nativeChannelManagerOpaque;
64 typedef struct nativeChannelManagerOpaque LDKnativeChannelManager;
65 struct nativeChainParametersOpaque;
66 typedef struct nativeChainParametersOpaque LDKnativeChainParameters;
67 struct nativeBestBlockOpaque;
68 typedef struct nativeBestBlockOpaque LDKnativeBestBlock;
69 struct nativeChannelDetailsOpaque;
70 typedef struct nativeChannelDetailsOpaque LDKnativeChannelDetails;
71 struct nativeChannelManagerReadArgsOpaque;
72 typedef struct nativeChannelManagerReadArgsOpaque LDKnativeChannelManagerReadArgs;
73 struct nativeChannelHandshakeConfigOpaque;
74 typedef struct nativeChannelHandshakeConfigOpaque LDKnativeChannelHandshakeConfig;
75 struct nativeChannelHandshakeLimitsOpaque;
76 typedef struct nativeChannelHandshakeLimitsOpaque LDKnativeChannelHandshakeLimits;
77 struct nativeChannelConfigOpaque;
78 typedef struct nativeChannelConfigOpaque LDKnativeChannelConfig;
79 struct nativeUserConfigOpaque;
80 typedef struct nativeUserConfigOpaque LDKnativeUserConfig;
81 struct nativeOutPointOpaque;
82 typedef struct nativeOutPointOpaque LDKnativeOutPoint;
83 struct nativeInvoiceOpaque;
84 typedef struct nativeInvoiceOpaque LDKnativeInvoice;
85 struct nativeSignedRawInvoiceOpaque;
86 typedef struct nativeSignedRawInvoiceOpaque LDKnativeSignedRawInvoice;
87 struct nativeRawInvoiceOpaque;
88 typedef struct nativeRawInvoiceOpaque LDKnativeRawInvoice;
89 struct nativeRawDataPartOpaque;
90 typedef struct nativeRawDataPartOpaque LDKnativeRawDataPart;
91 struct nativePositiveTimestampOpaque;
92 typedef struct nativePositiveTimestampOpaque LDKnativePositiveTimestamp;
93 struct nativeSha256Opaque;
94 typedef struct nativeSha256Opaque LDKnativeSha256;
95 struct nativeDescriptionOpaque;
96 typedef struct nativeDescriptionOpaque LDKnativeDescription;
97 struct nativePayeePubKeyOpaque;
98 typedef struct nativePayeePubKeyOpaque LDKnativePayeePubKey;
99 struct nativeExpiryTimeOpaque;
100 typedef struct nativeExpiryTimeOpaque LDKnativeExpiryTime;
101 struct nativeMinFinalCltvExpiryOpaque;
102 typedef struct nativeMinFinalCltvExpiryOpaque LDKnativeMinFinalCltvExpiry;
103 struct nativeInvoiceSignatureOpaque;
104 typedef struct nativeInvoiceSignatureOpaque LDKnativeInvoiceSignature;
105 struct nativeRouteHintOpaque;
106 typedef struct nativeRouteHintOpaque LDKnativeRouteHint;
107 struct nativeChannelMonitorUpdateOpaque;
108 typedef struct nativeChannelMonitorUpdateOpaque LDKnativeChannelMonitorUpdate;
109 struct nativeMonitorUpdateErrorOpaque;
110 typedef struct nativeMonitorUpdateErrorOpaque LDKnativeMonitorUpdateError;
111 struct nativeHTLCUpdateOpaque;
112 typedef struct nativeHTLCUpdateOpaque LDKnativeHTLCUpdate;
113 struct nativeChannelMonitorOpaque;
114 typedef struct nativeChannelMonitorOpaque LDKnativeChannelMonitor;
115 struct nativeIgnoringMessageHandlerOpaque;
116 typedef struct nativeIgnoringMessageHandlerOpaque LDKnativeIgnoringMessageHandler;
117 struct nativeErroringMessageHandlerOpaque;
118 typedef struct nativeErroringMessageHandlerOpaque LDKnativeErroringMessageHandler;
119 struct nativeMessageHandlerOpaque;
120 typedef struct nativeMessageHandlerOpaque LDKnativeMessageHandler;
121 typedef struct LDKSocketDescriptor LDKSocketDescriptor;
122 struct nativePeerHandleErrorOpaque;
123 typedef struct nativePeerHandleErrorOpaque LDKnativePeerHandleError;
124 struct nativePeerManagerOpaque;
125 typedef struct nativePeerManagerOpaque LDKnativePeerManager;
126 struct nativeNetworkGraphOpaque;
127 typedef struct nativeNetworkGraphOpaque LDKnativeNetworkGraph;
128 struct nativeLockedNetworkGraphOpaque;
129 typedef struct nativeLockedNetworkGraphOpaque LDKnativeLockedNetworkGraph;
130 struct nativeNetGraphMsgHandlerOpaque;
131 typedef struct nativeNetGraphMsgHandlerOpaque LDKnativeNetGraphMsgHandler;
132 struct nativeDirectionalChannelInfoOpaque;
133 typedef struct nativeDirectionalChannelInfoOpaque LDKnativeDirectionalChannelInfo;
134 struct nativeChannelInfoOpaque;
135 typedef struct nativeChannelInfoOpaque LDKnativeChannelInfo;
136 struct nativeRoutingFeesOpaque;
137 typedef struct nativeRoutingFeesOpaque LDKnativeRoutingFees;
138 struct nativeNodeAnnouncementInfoOpaque;
139 typedef struct nativeNodeAnnouncementInfoOpaque LDKnativeNodeAnnouncementInfo;
140 struct nativeNodeInfoOpaque;
141 typedef struct nativeNodeInfoOpaque LDKnativeNodeInfo;
142 struct nativeDecodeErrorOpaque;
143 typedef struct nativeDecodeErrorOpaque LDKnativeDecodeError;
144 struct nativeInitOpaque;
145 typedef struct nativeInitOpaque LDKnativeInit;
146 struct nativeErrorMessageOpaque;
147 typedef struct nativeErrorMessageOpaque LDKnativeErrorMessage;
148 struct nativePingOpaque;
149 typedef struct nativePingOpaque LDKnativePing;
150 struct nativePongOpaque;
151 typedef struct nativePongOpaque LDKnativePong;
152 struct nativeOpenChannelOpaque;
153 typedef struct nativeOpenChannelOpaque LDKnativeOpenChannel;
154 struct nativeAcceptChannelOpaque;
155 typedef struct nativeAcceptChannelOpaque LDKnativeAcceptChannel;
156 struct nativeFundingCreatedOpaque;
157 typedef struct nativeFundingCreatedOpaque LDKnativeFundingCreated;
158 struct nativeFundingSignedOpaque;
159 typedef struct nativeFundingSignedOpaque LDKnativeFundingSigned;
160 struct nativeFundingLockedOpaque;
161 typedef struct nativeFundingLockedOpaque LDKnativeFundingLocked;
162 struct nativeShutdownOpaque;
163 typedef struct nativeShutdownOpaque LDKnativeShutdown;
164 struct nativeClosingSignedOpaque;
165 typedef struct nativeClosingSignedOpaque LDKnativeClosingSigned;
166 struct nativeUpdateAddHTLCOpaque;
167 typedef struct nativeUpdateAddHTLCOpaque LDKnativeUpdateAddHTLC;
168 struct nativeUpdateFulfillHTLCOpaque;
169 typedef struct nativeUpdateFulfillHTLCOpaque LDKnativeUpdateFulfillHTLC;
170 struct nativeUpdateFailHTLCOpaque;
171 typedef struct nativeUpdateFailHTLCOpaque LDKnativeUpdateFailHTLC;
172 struct nativeUpdateFailMalformedHTLCOpaque;
173 typedef struct nativeUpdateFailMalformedHTLCOpaque LDKnativeUpdateFailMalformedHTLC;
174 struct nativeCommitmentSignedOpaque;
175 typedef struct nativeCommitmentSignedOpaque LDKnativeCommitmentSigned;
176 struct nativeRevokeAndACKOpaque;
177 typedef struct nativeRevokeAndACKOpaque LDKnativeRevokeAndACK;
178 struct nativeUpdateFeeOpaque;
179 typedef struct nativeUpdateFeeOpaque LDKnativeUpdateFee;
180 struct nativeDataLossProtectOpaque;
181 typedef struct nativeDataLossProtectOpaque LDKnativeDataLossProtect;
182 struct nativeChannelReestablishOpaque;
183 typedef struct nativeChannelReestablishOpaque LDKnativeChannelReestablish;
184 struct nativeAnnouncementSignaturesOpaque;
185 typedef struct nativeAnnouncementSignaturesOpaque LDKnativeAnnouncementSignatures;
186 struct nativeUnsignedNodeAnnouncementOpaque;
187 typedef struct nativeUnsignedNodeAnnouncementOpaque LDKnativeUnsignedNodeAnnouncement;
188 struct nativeNodeAnnouncementOpaque;
189 typedef struct nativeNodeAnnouncementOpaque LDKnativeNodeAnnouncement;
190 struct nativeUnsignedChannelAnnouncementOpaque;
191 typedef struct nativeUnsignedChannelAnnouncementOpaque LDKnativeUnsignedChannelAnnouncement;
192 struct nativeChannelAnnouncementOpaque;
193 typedef struct nativeChannelAnnouncementOpaque LDKnativeChannelAnnouncement;
194 struct nativeUnsignedChannelUpdateOpaque;
195 typedef struct nativeUnsignedChannelUpdateOpaque LDKnativeUnsignedChannelUpdate;
196 struct nativeChannelUpdateOpaque;
197 typedef struct nativeChannelUpdateOpaque LDKnativeChannelUpdate;
198 struct nativeQueryChannelRangeOpaque;
199 typedef struct nativeQueryChannelRangeOpaque LDKnativeQueryChannelRange;
200 struct nativeReplyChannelRangeOpaque;
201 typedef struct nativeReplyChannelRangeOpaque LDKnativeReplyChannelRange;
202 struct nativeQueryShortChannelIdsOpaque;
203 typedef struct nativeQueryShortChannelIdsOpaque LDKnativeQueryShortChannelIds;
204 struct nativeReplyShortChannelIdsEndOpaque;
205 typedef struct nativeReplyShortChannelIdsEndOpaque LDKnativeReplyShortChannelIdsEnd;
206 struct nativeGossipTimestampFilterOpaque;
207 typedef struct nativeGossipTimestampFilterOpaque LDKnativeGossipTimestampFilter;
208 struct nativeLightningErrorOpaque;
209 typedef struct nativeLightningErrorOpaque LDKnativeLightningError;
210 struct nativeCommitmentUpdateOpaque;
211 typedef struct nativeCommitmentUpdateOpaque LDKnativeCommitmentUpdate;
212 struct nativeChainMonitorOpaque;
213 typedef struct nativeChainMonitorOpaque LDKnativeChainMonitor;