/* 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__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 _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 } 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__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; }; }; #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); /* 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 (*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 pkt__descriptor; PROTOBUF_C__END_DECLS #endif /* PROTOBUF_C_lightning_2eproto__INCLUDED */