core-lightning/lightning.pb-c.h
Christian Decker 1c4d4f8c91 proto: Added nested_pkt
This is mainly used to transport the new, standardized protocol, over
the old legacy transport. Allows us to replace the serialization and
transport gradually instead of all at once.
2017-01-03 15:08:05 +10:30

1291 lines
39 KiB
C

/* 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 _Rval Rval;
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 _Rval
{
ProtobufCMessage base;
uint64_t a;
uint64_t b;
uint64_t c;
uint64_t d;
};
#define RVAL__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&rval__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 R value.
*/
Rval *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);
/* Rval methods */
void rval__init
(Rval *message);
size_t rval__get_packed_size
(const Rval *message);
size_t rval__pack
(const Rval *message,
uint8_t *out);
size_t rval__pack_to_buffer
(const Rval *message,
ProtobufCBuffer *buffer);
Rval *
rval__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
void rval__free_unpacked
(Rval *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 (*Rval_Closure)
(const Rval *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 rval__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 */