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