You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1290 lines
39 KiB

/* Generated by the protocol buffer compiler. DO NOT EDIT! */
/* Generated from: lightning.proto */
#ifndef PROTOBUF_C_lightning_2eproto__INCLUDED
#define PROTOBUF_C_lightning_2eproto__INCLUDED
#include <protobuf-c/protobuf-c.h>
PROTOBUF_C__BEGIN_DECLS
#if PROTOBUF_C_VERSION_NUMBER < 1000000
# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
#elif 1002001 < PROTOBUF_C_MIN_COMPILER_VERSION
# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
#endif
typedef struct _Sha256Hash Sha256Hash;
typedef struct _Preimage Preimage;
typedef struct _Signature Signature;
typedef struct _Locktime Locktime;
typedef struct _BitcoinPubkey BitcoinPubkey;
typedef struct _Funding Funding;
typedef struct _Authenticate Authenticate;
typedef struct _Init Init;
typedef struct _OpenChannel OpenChannel;
typedef struct _OpenAnchor OpenAnchor;
typedef struct _OpenCommitSig OpenCommitSig;
typedef struct _OpenComplete OpenComplete;
typedef struct _RouteStep RouteStep;
typedef struct _Route Route;
typedef struct _Routing Routing;
typedef struct _UpdateAddHtlc UpdateAddHtlc;
typedef struct _UpdateFulfillHtlc UpdateFulfillHtlc;
typedef struct _FailInfo FailInfo;
typedef struct _FailReason FailReason;
typedef struct _UpdateFailHtlc UpdateFailHtlc;
typedef struct _UpdateFee UpdateFee;
typedef struct _UpdateCommit UpdateCommit;
typedef struct _UpdateRevocation UpdateRevocation;
typedef struct _CloseShutdown CloseShutdown;
typedef struct _CloseSignature CloseSignature;
typedef struct _Error Error;
typedef struct _NestedPkt NestedPkt;
typedef struct _Pkt Pkt;
/* --- enums --- */
typedef enum _OpenChannel__AnchorOffer {
/*
* I will create the anchor
*/
OPEN_CHANNEL__ANCHOR_OFFER__WILL_CREATE_ANCHOR = 1,
/*
* I won't create the anchor
*/
OPEN_CHANNEL__ANCHOR_OFFER__WONT_CREATE_ANCHOR = 2
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(OPEN_CHANNEL__ANCHOR_OFFER)
} OpenChannel__AnchorOffer;
/* --- messages --- */
/*
* Protobufs don't have fixed-length fields, so these are a hack.
*/
struct _Sha256Hash
{
ProtobufCMessage base;
uint64_t a;
uint64_t b;
uint64_t c;
uint64_t d;
};
#define SHA256_HASH__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&sha256_hash__descriptor) \
, 0, 0, 0, 0 }
struct _Preimage
{
ProtobufCMessage base;
uint64_t a;
uint64_t b;
uint64_t c;
uint64_t d;
};
#define PREIMAGE__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&preimage__descriptor) \
, 0, 0, 0, 0 }
struct _Signature
{
ProtobufCMessage base;
uint64_t r1;
uint64_t r2;
uint64_t r3;
uint64_t r4;
uint64_t s1;
uint64_t s2;
uint64_t s3;
uint64_t s4;
};
#define SIGNATURE__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&signature__descriptor) \
, 0, 0, 0, 0, 0, 0, 0, 0 }
typedef enum {
LOCKTIME__LOCKTIME__NOT_SET = 0,
LOCKTIME__LOCKTIME_SECONDS = 1,
LOCKTIME__LOCKTIME_BLOCKS = 2,
} Locktime__LocktimeCase;
struct _Locktime
{
ProtobufCMessage base;
Locktime__LocktimeCase locktime_case;
union {
uint32_t seconds;
uint32_t blocks;
};
};
#define LOCKTIME__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&locktime__descriptor) \
, LOCKTIME__LOCKTIME__NOT_SET, {0} }
/*
* Pubkey for commitment transaction input.
*/
struct _BitcoinPubkey
{
ProtobufCMessage base;
/*
* Must be 33 bytes.
*/
ProtobufCBinaryData key;
};
#define BITCOIN_PUBKEY__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&bitcoin_pubkey__descriptor) \
, {0,NULL} }
/*
* How much a node charges (or pays!) for sending.
*/
struct _Funding
{
ProtobufCMessage base;
/*
* Base amount (in satoshi).
*/
protobuf_c_boolean has_fixed;
int64_t fixed;
/*
* This is charge per millionth of a satoshi.
*/
protobuf_c_boolean has_per_micro_satoshi;
int32_t per_micro_satoshi;
};
#define FUNDING__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&funding__descriptor) \
, 0,0ll, 0,0 }
/*
* Set channel params.
*/
struct _Authenticate
{
ProtobufCMessage base;
/*
* Which node this is.
*/
BitcoinPubkey *node_id;
/*
* Signature of your session key. *
*/
Signature *session_sig;
};
#define AUTHENTICATE__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&authenticate__descriptor) \
, NULL, NULL }
/*
* We're authenticated. Here's what we've received already.
*/
struct _Init
{
ProtobufCMessage base;
/*
* How many update_commit and update_revocation messages already received
*/
uint64_t ack;
/*
* What features do we support (odd) and require (even)
*/
protobuf_c_boolean has_features;
ProtobufCBinaryData features;
};
#define INIT__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&init__descriptor) \
, 0, 0,{0,NULL} }
/*
* Set channel params.
*/
struct _OpenChannel
{
ProtobufCMessage base;
/*
* Relative locktime for outputs going to us.
*/
Locktime *delay;
/*
* Hash for revoking first commitment transaction.
*/
Sha256Hash *revocation_hash;
/*
* Hash for revoking second commitment transaction.
*/
Sha256Hash *next_revocation_hash;
/*
* Pubkey for anchor to pay into commitment tx.
*/
BitcoinPubkey *commit_key;
/*
* How to pay money to us from commit_tx.
*/
BitcoinPubkey *final_key;
OpenChannel__AnchorOffer anch;
/*
* How far must anchor be buried before we consider channel live?
*/
protobuf_c_boolean has_min_depth;
uint32_t min_depth;
/*
* How much fee would I like on commitment tx?
*/
uint64_t initial_fee_rate;
};
#define OPEN_CHANNEL__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&open_channel__descriptor) \
, NULL, NULL, NULL, NULL, NULL, 0, 0,0u, 0 }
/*
* Whoever is supplying anchor sends this.
*/
struct _OpenAnchor
{
ProtobufCMessage base;
/*
* Transaction ID of anchor.
*/
Sha256Hash *txid;
/*
* Which output is going to the 2 of 2.
*/
uint32_t output_index;
/*
* Amount of anchor output.
*/
uint64_t amount;
};
#define OPEN_ANCHOR__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&open_anchor__descriptor) \
, NULL, 0, 0 }
/*
* Reply: signature for your initial commitment tx
*/
struct _OpenCommitSig
{
ProtobufCMessage base;
Signature *sig;
};
#define OPEN_COMMIT_SIG__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&open_commit_sig__descriptor) \
, NULL }
/*
* Indicates we've seen anchor reach min-depth.
*/
struct _OpenComplete
{
ProtobufCMessage base;
/*
* Block it went into.
*/
/*
* FIXME: add a merkle proof plus block headers here?
*/
Sha256Hash *blockid;
};
#define OPEN_COMPLETE__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&open_complete__descriptor) \
, NULL }
typedef enum {
ROUTE_STEP__NEXT__NOT_SET = 0,
ROUTE_STEP__NEXT_END = 1,
ROUTE_STEP__NEXT_BITCOIN = 2,
} RouteStep__NextCase;
struct _RouteStep
{
ProtobufCMessage base;
/*
* How much to forward (difference is fee)
*/
uint32_t amount;
RouteStep__NextCase next_case;
union {
/*
* Actually, this is the last one
*/
protobuf_c_boolean end;
/*
* Next lightning node.
*/
/*
* Other realms go here...
*/
BitcoinPubkey *bitcoin;
};
};
#define ROUTE_STEP__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&route_step__descriptor) \
, 0, ROUTE_STEP__NEXT__NOT_SET, {0} }
struct _Route
{
ProtobufCMessage base;
size_t n_steps;
RouteStep **steps;
};
#define ROUTE__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&route__descriptor) \
, 0,NULL }
struct _Routing
{
ProtobufCMessage base;
ProtobufCBinaryData info;
};
#define ROUTING__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&routing__descriptor) \
, {0,NULL} }
/*
* Start a new commitment tx to add an HTLC me -> you.
*/
struct _UpdateAddHtlc
{
ProtobufCMessage base;
/*
* Unique identifier for this HTLC.
*/
uint64_t id;
/*
* Amount for htlc (millisatoshi)
*/
uint32_t amount_msat;
/*
* Hash for HTLC R value.
*/
Sha256Hash *r_hash;
/*
* Time at which HTLC expires (absolute)
*/
Locktime *expiry;
/*
* Onion-wrapped routing information.
*/
Routing *route;
};
#define UPDATE_ADD_HTLC__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&update_add_htlc__descriptor) \
, 0, 0, NULL, NULL, NULL }
/*
* Complete your HTLC: I have the R value, pay me!
*/
struct _UpdateFulfillHtlc
{
ProtobufCMessage base;
/*
* Which HTLC
*/
uint64_t id;
/*
* HTLC payment_preimage.
*/
Preimage *r;
};
#define UPDATE_FULFILL_HTLC__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&update_fulfill_htlc__descriptor) \
, 0, NULL }
/*
* This is encrypted in fail_reason.
*/
struct _FailInfo
{
ProtobufCMessage base;
BitcoinPubkey *id;
uint32_t error_code;
char *reason;
};
#define FAIL_INFO__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&fail_info__descriptor) \
, NULL, 0, NULL }
struct _FailReason
{
ProtobufCMessage base;
ProtobufCBinaryData info;
};
#define FAIL_REASON__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&fail_reason__descriptor) \
, {0,NULL} }
struct _UpdateFailHtlc
{
ProtobufCMessage base;
/*
* Which HTLC
*/
uint64_t id;
/*
* Reason for failure (for relay to initial node)
*/
FailReason *reason;
};
#define UPDATE_FAIL_HTLC__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&update_fail_htlc__descriptor) \
, 0, NULL }
/*
* Fee rate change proposal
*/
struct _UpdateFee
{
ProtobufCMessage base;
uint32_t fee_rate;
};
#define UPDATE_FEE__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&update_fee__descriptor) \
, 0 }
/*
* Commit all the staged changes.
*/
struct _UpdateCommit
{
ProtobufCMessage base;
/*
* Signature for your new commitment tx (if any outputs are HTLCs or to you)
*/
Signature *sig;
};
#define UPDATE_COMMIT__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&update_commit__descriptor) \
, NULL }
/*
* Complete the update.
*/
struct _UpdateRevocation
{
ProtobufCMessage base;
/*
* Hash preimage which revokes old commitment tx.
*/
Sha256Hash *revocation_preimage;
/*
* Revocation hash for my next commit transaction
*/
Sha256Hash *next_revocation_hash;
};
#define UPDATE_REVOCATION__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&update_revocation__descriptor) \
, NULL, NULL }
/*
* Start clearing out the channel HTLCs so we can close it
*/
struct _CloseShutdown
{
ProtobufCMessage base;
/*
* Output script for mutual close tx.
*/
ProtobufCBinaryData scriptpubkey;
};
#define CLOSE_SHUTDOWN__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&close_shutdown__descriptor) \
, {0,NULL} }
struct _CloseSignature
{
ProtobufCMessage base;
/*
* Fee in satoshis.
*/
uint64_t close_fee;
/*
* Signature on the close transaction.
*/
Signature *sig;
};
#define CLOSE_SIGNATURE__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&close_signature__descriptor) \
, 0, NULL }
/*
* This means we're going to hang up; it's to help diagnose only!
*/
struct _Error
{
ProtobufCMessage base;
char *problem;
};
#define ERROR__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&error__descriptor) \
, NULL }
/*
* Nested message to transport standard protocol messages through the legacy transport
*/
struct _NestedPkt
{
ProtobufCMessage base;
uint32_t type;
ProtobufCBinaryData inner_pkt;
};
#define NESTED_PKT__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&nested_pkt__descriptor) \
, 0, {0,NULL} }
typedef enum {
PKT__PKT__NOT_SET = 0,
PKT__PKT_AUTH = 50,
PKT__PKT_INIT = 51,
PKT__PKT_OPEN = 20,
PKT__PKT_OPEN_ANCHOR = 21,
PKT__PKT_OPEN_COMMIT_SIG = 22,
PKT__PKT_OPEN_COMPLETE = 23,
PKT__PKT_UPDATE_ADD_HTLC = 2,
PKT__PKT_UPDATE_FULFILL_HTLC = 3,
PKT__PKT_UPDATE_FAIL_HTLC = 4,
PKT__PKT_UPDATE_FEE = 5,
PKT__PKT_UPDATE_COMMIT = 6,
PKT__PKT_UPDATE_REVOCATION = 7,
PKT__PKT_CLOSE_SHUTDOWN = 30,
PKT__PKT_CLOSE_SIGNATURE = 31,
PKT__PKT_ERROR = 40,
PKT__PKT_NESTED = 128,
} Pkt__PktCase;
/*
* This is the union which defines all of them
*/
struct _Pkt
{
ProtobufCMessage base;
Pkt__PktCase pkt_case;
union {
/*
* Start of connection
*/
Authenticate *auth;
Init *init;
/*
* Opening
*/
OpenChannel *open;
OpenAnchor *open_anchor;
OpenCommitSig *open_commit_sig;
OpenComplete *open_complete;
/*
* Updating (most common)
*/
UpdateAddHtlc *update_add_htlc;
UpdateFulfillHtlc *update_fulfill_htlc;
UpdateFailHtlc *update_fail_htlc;
UpdateFee *update_fee;
UpdateCommit *update_commit;
UpdateRevocation *update_revocation;
/*
* Closing
*/
CloseShutdown *close_shutdown;
CloseSignature *close_signature;
/*
* Unexpected issue.
*/
Error *error;
/*
* Shim to upgrade to new packet format
*/
NestedPkt *nested;
};
};
#define PKT__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&pkt__descriptor) \
, PKT__PKT__NOT_SET, {0} }
/* Sha256Hash methods */
void sha256_hash__init
(Sha256Hash *message);
size_t sha256_hash__get_packed_size
(const Sha256Hash *message);
size_t sha256_hash__pack
(const Sha256Hash *message,
uint8_t *out);
size_t sha256_hash__pack_to_buffer
(const Sha256Hash *message,
ProtobufCBuffer *buffer);
Sha256Hash *
sha256_hash__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void sha256_hash__free_unpacked
(Sha256Hash *message,
ProtobufCAllocator *allocator);
/* Preimage methods */
void preimage__init
(Preimage *message);
size_t preimage__get_packed_size
(const Preimage *message);
size_t preimage__pack
(const Preimage *message,
uint8_t *out);
size_t preimage__pack_to_buffer
(const Preimage *message,
ProtobufCBuffer *buffer);
Preimage *
preimage__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void preimage__free_unpacked
(Preimage *message,
ProtobufCAllocator *allocator);
/* Signature methods */
void signature__init
(Signature *message);
size_t signature__get_packed_size
(const Signature *message);
size_t signature__pack
(const Signature *message,
uint8_t *out);
size_t signature__pack_to_buffer
(const Signature *message,
ProtobufCBuffer *buffer);
Signature *
signature__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void signature__free_unpacked
(Signature *message,
ProtobufCAllocator *allocator);
/* Locktime methods */
void locktime__init
(Locktime *message);
size_t locktime__get_packed_size
(const Locktime *message);
size_t locktime__pack
(const Locktime *message,
uint8_t *out);
size_t locktime__pack_to_buffer
(const Locktime *message,
ProtobufCBuffer *buffer);
Locktime *
locktime__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void locktime__free_unpacked
(Locktime *message,
ProtobufCAllocator *allocator);
/* BitcoinPubkey methods */
void bitcoin_pubkey__init
(BitcoinPubkey *message);
size_t bitcoin_pubkey__get_packed_size
(const BitcoinPubkey *message);
size_t bitcoin_pubkey__pack
(const BitcoinPubkey *message,
uint8_t *out);
size_t bitcoin_pubkey__pack_to_buffer
(const BitcoinPubkey *message,
ProtobufCBuffer *buffer);
BitcoinPubkey *
bitcoin_pubkey__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void bitcoin_pubkey__free_unpacked
(BitcoinPubkey *message,
ProtobufCAllocator *allocator);
/* Funding methods */
void funding__init
(Funding *message);
size_t funding__get_packed_size
(const Funding *message);
size_t funding__pack
(const Funding *message,
uint8_t *out);
size_t funding__pack_to_buffer
(const Funding *message,
ProtobufCBuffer *buffer);
Funding *
funding__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void funding__free_unpacked
(Funding *message,
ProtobufCAllocator *allocator);
/* Authenticate methods */
void authenticate__init
(Authenticate *message);
size_t authenticate__get_packed_size
(const Authenticate *message);
size_t authenticate__pack
(const Authenticate *message,
uint8_t *out);
size_t authenticate__pack_to_buffer
(const Authenticate *message,
ProtobufCBuffer *buffer);
Authenticate *
authenticate__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void authenticate__free_unpacked
(Authenticate *message,
ProtobufCAllocator *allocator);
/* Init methods */
void init__init
(Init *message);
size_t init__get_packed_size
(const Init *message);
size_t init__pack
(const Init *message,
uint8_t *out);
size_t init__pack_to_buffer
(const Init *message,
ProtobufCBuffer *buffer);
Init *
init__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void init__free_unpacked
(Init *message,
ProtobufCAllocator *allocator);
/* OpenChannel methods */
void open_channel__init
(OpenChannel *message);
size_t open_channel__get_packed_size
(const OpenChannel *message);
size_t open_channel__pack
(const OpenChannel *message,
uint8_t *out);
size_t open_channel__pack_to_buffer
(const OpenChannel *message,
ProtobufCBuffer *buffer);
OpenChannel *
open_channel__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void open_channel__free_unpacked
(OpenChannel *message,
ProtobufCAllocator *allocator);
/* OpenAnchor methods */
void open_anchor__init
(OpenAnchor *message);
size_t open_anchor__get_packed_size
(const OpenAnchor *message);
size_t open_anchor__pack
(const OpenAnchor *message,
uint8_t *out);
size_t open_anchor__pack_to_buffer
(const OpenAnchor *message,
ProtobufCBuffer *buffer);
OpenAnchor *
open_anchor__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void open_anchor__free_unpacked
(OpenAnchor *message,
ProtobufCAllocator *allocator);
/* OpenCommitSig methods */
void open_commit_sig__init
(OpenCommitSig *message);
size_t open_commit_sig__get_packed_size
(const OpenCommitSig *message);
size_t open_commit_sig__pack
(const OpenCommitSig *message,
uint8_t *out);
size_t open_commit_sig__pack_to_buffer
(const OpenCommitSig *message,
ProtobufCBuffer *buffer);
OpenCommitSig *
open_commit_sig__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void open_commit_sig__free_unpacked
(OpenCommitSig *message,
ProtobufCAllocator *allocator);
/* OpenComplete methods */
void open_complete__init
(OpenComplete *message);
size_t open_complete__get_packed_size
(const OpenComplete *message);
size_t open_complete__pack
(const OpenComplete *message,
uint8_t *out);
size_t open_complete__pack_to_buffer
(const OpenComplete *message,
ProtobufCBuffer *buffer);
OpenComplete *
open_complete__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void open_complete__free_unpacked
(OpenComplete *message,
ProtobufCAllocator *allocator);
/* RouteStep methods */
void route_step__init
(RouteStep *message);
size_t route_step__get_packed_size
(const RouteStep *message);
size_t route_step__pack
(const RouteStep *message,
uint8_t *out);
size_t route_step__pack_to_buffer
(const RouteStep *message,
ProtobufCBuffer *buffer);
RouteStep *
route_step__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void route_step__free_unpacked
(RouteStep *message,
ProtobufCAllocator *allocator);
/* Route methods */
void route__init
(Route *message);
size_t route__get_packed_size
(const Route *message);
size_t route__pack
(const Route *message,
uint8_t *out);
size_t route__pack_to_buffer
(const Route *message,
ProtobufCBuffer *buffer);
Route *
route__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void route__free_unpacked
(Route *message,
ProtobufCAllocator *allocator);
/* Routing methods */
void routing__init
(Routing *message);
size_t routing__get_packed_size
(const Routing *message);
size_t routing__pack
(const Routing *message,
uint8_t *out);
size_t routing__pack_to_buffer
(const Routing *message,
ProtobufCBuffer *buffer);
Routing *
routing__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void routing__free_unpacked
(Routing *message,
ProtobufCAllocator *allocator);
/* UpdateAddHtlc methods */
void update_add_htlc__init
(UpdateAddHtlc *message);
size_t update_add_htlc__get_packed_size
(const UpdateAddHtlc *message);
size_t update_add_htlc__pack
(const UpdateAddHtlc *message,
uint8_t *out);
size_t update_add_htlc__pack_to_buffer
(const UpdateAddHtlc *message,
ProtobufCBuffer *buffer);
UpdateAddHtlc *
update_add_htlc__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void update_add_htlc__free_unpacked
(UpdateAddHtlc *message,
ProtobufCAllocator *allocator);
/* UpdateFulfillHtlc methods */
void update_fulfill_htlc__init
(UpdateFulfillHtlc *message);
size_t update_fulfill_htlc__get_packed_size
(const UpdateFulfillHtlc *message);
size_t update_fulfill_htlc__pack
(const UpdateFulfillHtlc *message,
uint8_t *out);
size_t update_fulfill_htlc__pack_to_buffer
(const UpdateFulfillHtlc *message,
ProtobufCBuffer *buffer);
UpdateFulfillHtlc *
update_fulfill_htlc__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void update_fulfill_htlc__free_unpacked
(UpdateFulfillHtlc *message,
ProtobufCAllocator *allocator);
/* FailInfo methods */
void fail_info__init
(FailInfo *message);
size_t fail_info__get_packed_size
(const FailInfo *message);
size_t fail_info__pack
(const FailInfo *message,
uint8_t *out);
size_t fail_info__pack_to_buffer
(const FailInfo *message,
ProtobufCBuffer *buffer);
FailInfo *
fail_info__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void fail_info__free_unpacked
(FailInfo *message,
ProtobufCAllocator *allocator);
/* FailReason methods */
void fail_reason__init
(FailReason *message);
size_t fail_reason__get_packed_size
(const FailReason *message);
size_t fail_reason__pack
(const FailReason *message,
uint8_t *out);
size_t fail_reason__pack_to_buffer
(const FailReason *message,
ProtobufCBuffer *buffer);
FailReason *
fail_reason__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void fail_reason__free_unpacked
(FailReason *message,
ProtobufCAllocator *allocator);
/* UpdateFailHtlc methods */
void update_fail_htlc__init
(UpdateFailHtlc *message);
size_t update_fail_htlc__get_packed_size
(const UpdateFailHtlc *message);
size_t update_fail_htlc__pack
(const UpdateFailHtlc *message,
uint8_t *out);
size_t update_fail_htlc__pack_to_buffer
(const UpdateFailHtlc *message,
ProtobufCBuffer *buffer);
UpdateFailHtlc *
update_fail_htlc__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void update_fail_htlc__free_unpacked
(UpdateFailHtlc *message,
ProtobufCAllocator *allocator);
/* UpdateFee methods */
void update_fee__init
(UpdateFee *message);
size_t update_fee__get_packed_size
(const UpdateFee *message);
size_t update_fee__pack
(const UpdateFee *message,
uint8_t *out);
size_t update_fee__pack_to_buffer
(const UpdateFee *message,
ProtobufCBuffer *buffer);
UpdateFee *
update_fee__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void update_fee__free_unpacked
(UpdateFee *message,
ProtobufCAllocator *allocator);
/* UpdateCommit methods */
void update_commit__init
(UpdateCommit *message);
size_t update_commit__get_packed_size
(const UpdateCommit *message);
size_t update_commit__pack
(const UpdateCommit *message,
uint8_t *out);
size_t update_commit__pack_to_buffer
(const UpdateCommit *message,
ProtobufCBuffer *buffer);
UpdateCommit *
update_commit__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void update_commit__free_unpacked
(UpdateCommit *message,
ProtobufCAllocator *allocator);
/* UpdateRevocation methods */
void update_revocation__init
(UpdateRevocation *message);
size_t update_revocation__get_packed_size
(const UpdateRevocation *message);
size_t update_revocation__pack
(const UpdateRevocation *message,
uint8_t *out);
size_t update_revocation__pack_to_buffer
(const UpdateRevocation *message,
ProtobufCBuffer *buffer);
UpdateRevocation *
update_revocation__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void update_revocation__free_unpacked
(UpdateRevocation *message,
ProtobufCAllocator *allocator);
/* CloseShutdown methods */
void close_shutdown__init
(CloseShutdown *message);
size_t close_shutdown__get_packed_size
(const CloseShutdown *message);
size_t close_shutdown__pack
(const CloseShutdown *message,
uint8_t *out);
size_t close_shutdown__pack_to_buffer
(const CloseShutdown *message,
ProtobufCBuffer *buffer);
CloseShutdown *
close_shutdown__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void close_shutdown__free_unpacked
(CloseShutdown *message,
ProtobufCAllocator *allocator);
/* CloseSignature methods */
void close_signature__init
(CloseSignature *message);
size_t close_signature__get_packed_size
(const CloseSignature *message);
size_t close_signature__pack
(const CloseSignature *message,
uint8_t *out);
size_t close_signature__pack_to_buffer
(const CloseSignature *message,
ProtobufCBuffer *buffer);
CloseSignature *
close_signature__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void close_signature__free_unpacked
(CloseSignature *message,
ProtobufCAllocator *allocator);
/* Error methods */
void error__init
(Error *message);
size_t error__get_packed_size
(const Error *message);
size_t error__pack
(const Error *message,
uint8_t *out);
size_t error__pack_to_buffer
(const Error *message,
ProtobufCBuffer *buffer);
Error *
error__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void error__free_unpacked
(Error *message,
ProtobufCAllocator *allocator);
/* NestedPkt methods */
void nested_pkt__init
(NestedPkt *message);
size_t nested_pkt__get_packed_size
(const NestedPkt *message);
size_t nested_pkt__pack
(const NestedPkt *message,
uint8_t *out);
size_t nested_pkt__pack_to_buffer
(const NestedPkt *message,
ProtobufCBuffer *buffer);
NestedPkt *
nested_pkt__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void nested_pkt__free_unpacked
(NestedPkt *message,
ProtobufCAllocator *allocator);
/* Pkt methods */
void pkt__init
(Pkt *message);
size_t pkt__get_packed_size
(const Pkt *message);
size_t pkt__pack
(const Pkt *message,
uint8_t *out);
size_t pkt__pack_to_buffer
(const Pkt *message,
ProtobufCBuffer *buffer);
Pkt *
pkt__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void pkt__free_unpacked
(Pkt *message,
ProtobufCAllocator *allocator);
/* --- per-message closures --- */
typedef void (*Sha256Hash_Closure)
(const Sha256Hash *message,
void *closure_data);
typedef void (*Preimage_Closure)
(const Preimage *message,
void *closure_data);
typedef void (*Signature_Closure)
(const Signature *message,
void *closure_data);
typedef void (*Locktime_Closure)
(const Locktime *message,
void *closure_data);
typedef void (*BitcoinPubkey_Closure)
(const BitcoinPubkey *message,
void *closure_data);
typedef void (*Funding_Closure)
(const Funding *message,
void *closure_data);
typedef void (*Authenticate_Closure)
(const Authenticate *message,
void *closure_data);
typedef void (*Init_Closure)
(const Init *message,
void *closure_data);
typedef void (*OpenChannel_Closure)
(const OpenChannel *message,
void *closure_data);
typedef void (*OpenAnchor_Closure)
(const OpenAnchor *message,
void *closure_data);
typedef void (*OpenCommitSig_Closure)
(const OpenCommitSig *message,
void *closure_data);
typedef void (*OpenComplete_Closure)
(const OpenComplete *message,
void *closure_data);
typedef void (*RouteStep_Closure)
(const RouteStep *message,
void *closure_data);
typedef void (*Route_Closure)
(const Route *message,
void *closure_data);
typedef void (*Routing_Closure)
(const Routing *message,
void *closure_data);
typedef void (*UpdateAddHtlc_Closure)
(const UpdateAddHtlc *message,
void *closure_data);
typedef void (*UpdateFulfillHtlc_Closure)
(const UpdateFulfillHtlc *message,
void *closure_data);
typedef void (*FailInfo_Closure)
(const FailInfo *message,
void *closure_data);
typedef void (*FailReason_Closure)
(const FailReason *message,
void *closure_data);
typedef void (*UpdateFailHtlc_Closure)
(const UpdateFailHtlc *message,
void *closure_data);
typedef void (*UpdateFee_Closure)
(const UpdateFee *message,
void *closure_data);
typedef void (*UpdateCommit_Closure)
(const UpdateCommit *message,
void *closure_data);
typedef void (*UpdateRevocation_Closure)
(const UpdateRevocation *message,
void *closure_data);
typedef void (*CloseShutdown_Closure)
(const CloseShutdown *message,
void *closure_data);
typedef void (*CloseSignature_Closure)
(const CloseSignature *message,
void *closure_data);
typedef void (*Error_Closure)
(const Error *message,
void *closure_data);
typedef void (*NestedPkt_Closure)
(const NestedPkt *message,
void *closure_data);
typedef void (*Pkt_Closure)
(const Pkt *message,
void *closure_data);
/* --- services --- */
/* --- descriptors --- */
extern const ProtobufCMessageDescriptor sha256_hash__descriptor;
extern const ProtobufCMessageDescriptor preimage__descriptor;
extern const ProtobufCMessageDescriptor signature__descriptor;
extern const ProtobufCMessageDescriptor locktime__descriptor;
extern const ProtobufCMessageDescriptor bitcoin_pubkey__descriptor;
extern const ProtobufCMessageDescriptor funding__descriptor;
extern const ProtobufCMessageDescriptor authenticate__descriptor;
extern const ProtobufCMessageDescriptor init__descriptor;
extern const ProtobufCMessageDescriptor open_channel__descriptor;
extern const ProtobufCEnumDescriptor open_channel__anchor_offer__descriptor;
extern const ProtobufCMessageDescriptor open_anchor__descriptor;
extern const ProtobufCMessageDescriptor open_commit_sig__descriptor;
extern const ProtobufCMessageDescriptor open_complete__descriptor;
extern const ProtobufCMessageDescriptor route_step__descriptor;
extern const ProtobufCMessageDescriptor route__descriptor;
extern const ProtobufCMessageDescriptor routing__descriptor;
extern const ProtobufCMessageDescriptor update_add_htlc__descriptor;
extern const ProtobufCMessageDescriptor update_fulfill_htlc__descriptor;
extern const ProtobufCMessageDescriptor fail_info__descriptor;
extern const ProtobufCMessageDescriptor fail_reason__descriptor;
extern const ProtobufCMessageDescriptor update_fail_htlc__descriptor;
extern const ProtobufCMessageDescriptor update_fee__descriptor;
extern const ProtobufCMessageDescriptor update_commit__descriptor;
extern const ProtobufCMessageDescriptor update_revocation__descriptor;
extern const ProtobufCMessageDescriptor close_shutdown__descriptor;
extern const ProtobufCMessageDescriptor close_signature__descriptor;
extern const ProtobufCMessageDescriptor error__descriptor;
extern const ProtobufCMessageDescriptor nested_pkt__descriptor;
extern const ProtobufCMessageDescriptor pkt__descriptor;
PROTOBUF_C__END_DECLS
#endif /* PROTOBUF_C_lightning_2eproto__INCLUDED */