2015-05-26 06:38:12 +02:00
/* 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 1001001 < 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 ;
2015-06-01 04:26:09 +02:00
typedef struct _Signature Signature ;
2015-08-07 05:15:30 +02:00
typedef struct _Locktime Locktime ;
2015-05-28 23:38:27 +02:00
typedef struct _BitcoinPubkey BitcoinPubkey ;
2015-09-24 07:32:46 +02:00
typedef struct _Funding Funding ;
2016-01-21 21:11:48 +01:00
typedef struct _Authenticate Authenticate ;
2015-05-26 06:38:12 +02:00
typedef struct _OpenChannel OpenChannel ;
2015-07-29 08:44:28 +02:00
typedef struct _OpenAnchor OpenAnchor ;
2015-05-26 06:38:12 +02:00
typedef struct _OpenCommitSig OpenCommitSig ;
typedef struct _OpenComplete OpenComplete ;
2015-08-07 05:15:30 +02:00
typedef struct _UpdateAddHtlc UpdateAddHtlc ;
2015-09-24 07:32:46 +02:00
typedef struct _UpdateDeclineHtlc UpdateDeclineHtlc ;
2015-09-25 04:21:18 +02:00
typedef struct _UpdateFulfillHtlc UpdateFulfillHtlc ;
2016-03-08 01:11:15 +01:00
typedef struct _UpdateFailHtlc UpdateFailHtlc ;
2015-05-26 06:38:12 +02:00
typedef struct _UpdateAccept UpdateAccept ;
2015-06-10 13:02:43 +02:00
typedef struct _UpdateSignature UpdateSignature ;
2015-05-26 06:38:12 +02:00
typedef struct _UpdateComplete UpdateComplete ;
2016-03-24 02:39:41 +01:00
typedef struct _CloseClearing CloseClearing ;
typedef struct _CloseSignature CloseSignature ;
2015-05-26 06:38:12 +02:00
typedef struct _Error Error ;
typedef struct _Pkt Pkt ;
/* --- enums --- */
2015-07-29 08:44:28 +02:00
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 ;
2015-05-26 06:38:12 +02:00
/* --- messages --- */
/*
2015-06-01 04:26:09 +02:00
* Protobufs don ' t have fixed - length fields , so these are a hack .
2015-05-26 06:38:12 +02:00
*/
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 }
2015-06-01 04:26:09 +02:00
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 }
2015-08-07 05:15:30 +02:00
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 , { } }
2015-05-28 23:38:27 +02:00
/*
* Pubkey for commitment transaction input .
*/
struct _BitcoinPubkey
{
ProtobufCMessage base ;
/*
* Either 65 or 33 bytes .
*/
ProtobufCBinaryData key ;
} ;
# define BITCOIN_PUBKEY__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & bitcoin_pubkey__descriptor ) \
, { 0 , NULL } }
2015-09-24 07:32:46 +02:00
/*
* 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 }
2016-01-21 21:11:48 +01:00
/*
* 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 }
2015-05-26 06:38:12 +02:00
/*
* Set channel params .
*/
struct _OpenChannel
{
ProtobufCMessage base ;
2015-08-07 05:15:30 +02:00
/*
* Relative locktime for outputs going to us .
*/
2015-08-07 05:15:30 +02:00
Locktime * delay ;
2015-05-26 06:38:12 +02:00
/*
2015-07-29 08:44:28 +02:00
* Hash for revoking first commitment transaction .
2015-05-26 06:38:12 +02:00
*/
Sha256Hash * revocation_hash ;
2016-03-15 07:38:35 +01:00
/*
* Hash for revoking second commitment transaction .
*/
Sha256Hash * next_revocation_hash ;
2015-07-29 04:30:50 +02:00
/*
2015-07-29 08:44:28 +02:00
* Pubkey for anchor to pay into commitment tx .
2015-07-29 04:30:50 +02:00
*/
BitcoinPubkey * commit_key ;
2015-05-26 06:38:12 +02:00
/*
2015-05-28 23:38:27 +02:00
* How to pay money to us from commit_tx .
2015-05-26 06:38:12 +02:00
*/
2015-07-29 04:30:50 +02:00
BitcoinPubkey * final_key ;
2015-07-29 08:44:28 +02:00
OpenChannel__AnchorOffer anch ;
2015-05-26 06:38:12 +02:00
/*
2015-07-29 08:44:28 +02:00
* How far must anchor be buried before we consider channel live ?
2015-05-26 06:38:12 +02:00
*/
2015-07-29 08:44:28 +02:00
protobuf_c_boolean has_min_depth ;
uint32_t min_depth ;
2015-07-29 08:46:24 +02:00
/*
* How much fee would I like on commitment tx ?
*/
uint64_t commitment_fee ;
2015-05-26 06:38:12 +02:00
} ;
# define OPEN_CHANNEL__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & open_channel__descriptor ) \
2016-03-15 07:38:35 +01:00
, NULL , NULL , NULL , NULL , NULL , 0 , 0 , 0u , 0 }
2015-05-26 06:38:12 +02:00
/*
2015-07-29 08:44:28 +02:00
* Whoever is supplying anchor sends this .
2015-05-26 06:38:12 +02:00
*/
2015-07-29 08:44:28 +02:00
struct _OpenAnchor
2015-05-26 06:38:12 +02:00
{
ProtobufCMessage base ;
2015-07-29 08:44:28 +02:00
/*
* 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 ;
/*
* Signature for your initial commitment tx .
*/
Signature * commit_sig ;
2015-05-26 06:38:12 +02:00
} ;
2015-07-29 08:44:28 +02:00
# define OPEN_ANCHOR__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & open_anchor__descriptor ) \
, NULL , 0 , 0 , NULL }
2015-05-26 06:38:12 +02:00
/*
2015-07-29 08:44:28 +02:00
* Reply : signature for your initial commitment tx
2015-05-26 06:38:12 +02:00
*/
2015-07-29 08:44:28 +02:00
struct _OpenCommitSig
2015-05-26 06:38:12 +02:00
{
ProtobufCMessage base ;
2015-07-29 08:44:28 +02:00
Signature * sig ;
2015-05-26 06:38:12 +02:00
} ;
2015-07-29 08:44:28 +02:00
# define OPEN_COMMIT_SIG__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & open_commit_sig__descriptor ) \
, NULL }
2015-05-28 23:38:27 +02:00
2015-05-26 06:38:12 +02:00
/*
2015-07-29 08:44:28 +02:00
* Indicates we ' ve seen anchor reach min - depth .
2015-05-26 06:38:12 +02:00
*/
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 }
2015-08-07 05:15:30 +02:00
/*
* Start a new commitment tx to add an HTLC me - > you .
*/
struct _UpdateAddHtlc
{
ProtobufCMessage base ;
/*
* Hash for which I will supply preimage to revoke this commitment tx .
*/
Sha256Hash * revocation_hash ;
/*
2015-09-24 07:30:47 +02:00
* Amount for htlc ( millisatoshi )
2015-08-07 05:15:30 +02:00
*/
2015-09-24 07:30:47 +02:00
uint32_t amount_msat ;
2015-08-07 05:15:30 +02:00
/*
* Hash for HTLC R value .
*/
Sha256Hash * r_hash ;
/*
* Time at which HTLC expires ( absolute )
*/
/*
* FIXME : Routing information .
*/
2015-08-07 05:15:30 +02:00
Locktime * expiry ;
2015-08-07 05:15:30 +02:00
} ;
# define UPDATE_ADD_HTLC__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & update_add_htlc__descriptor ) \
, NULL , 0 , NULL , NULL }
2015-09-24 07:32:46 +02:00
typedef enum {
UPDATE_DECLINE_HTLC__REASON__NOT_SET = 0 ,
UPDATE_DECLINE_HTLC__REASON_INSUFFICIENT_FUNDS = 1 ,
UPDATE_DECLINE_HTLC__REASON_CANNOT_ROUTE = 2 ,
} UpdateDeclineHtlc__ReasonCase ;
/*
2015-09-24 07:32:49 +02:00
* We can ' t do this HTLC , sorry ( instead of update_accept )
2015-09-24 07:32:46 +02:00
*/
struct _UpdateDeclineHtlc
{
ProtobufCMessage base ;
UpdateDeclineHtlc__ReasonCase reason_case ;
union {
Funding * insufficient_funds ;
protobuf_c_boolean cannot_route ;
} ;
} ;
# define UPDATE_DECLINE_HTLC__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & update_decline_htlc__descriptor ) \
, UPDATE_DECLINE_HTLC__REASON__NOT_SET , { } }
2015-08-07 05:15:30 +02:00
/*
2015-09-24 07:32:49 +02:00
* Complete your HTLC : I have the R value , pay me !
2015-08-07 05:15:30 +02:00
*/
2015-09-25 04:21:18 +02:00
struct _UpdateFulfillHtlc
2015-08-07 05:15:30 +02:00
{
ProtobufCMessage base ;
/*
* Hash for which I will supply preimage to revoke this commitment tx .
*/
Sha256Hash * revocation_hash ;
/*
* HTLC R value .
*/
Sha256Hash * r ;
} ;
2015-09-25 04:21:18 +02:00
# define UPDATE_FULFILL_HTLC__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & update_fulfill_htlc__descriptor ) \
2015-08-07 05:15:30 +02:00
, NULL , NULL }
/*
2016-03-15 07:37:12 +01:00
* Remove your HTLC : routing has failed upstream , we didn ' t like it , or timeout .
2015-08-07 05:15:30 +02:00
*/
2016-03-08 01:11:15 +01:00
struct _UpdateFailHtlc
2015-08-07 05:15:30 +02:00
{
ProtobufCMessage base ;
2015-09-24 07:32:49 +02:00
/*
* Hash for which I will supply preimage to revoke this commitment tx .
*/
Sha256Hash * revocation_hash ;
2015-08-07 05:15:30 +02:00
/*
* Hash for HTLC R value .
*/
Sha256Hash * r_hash ;
} ;
2016-03-08 01:11:15 +01:00
# define UPDATE_FAIL_HTLC__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & update_fail_htlc__descriptor ) \
2015-09-24 07:32:49 +02:00
, NULL , NULL }
2015-08-07 05:15:30 +02:00
2015-05-26 06:38:12 +02:00
/*
2015-06-10 13:02:43 +02:00
* OK , I accept that update ; here ' s your signature .
2015-05-26 06:38:12 +02:00
*/
struct _UpdateAccept
{
ProtobufCMessage base ;
/*
2015-06-10 13:02:43 +02:00
* Signature for your new commitment tx .
2015-05-26 06:38:12 +02:00
*/
2015-06-01 04:26:09 +02:00
Signature * sig ;
2015-06-05 03:06:05 +02:00
/*
* Hash for which I will supply preimage to revoke this new commit tx .
*/
Sha256Hash * revocation_hash ;
2015-06-10 13:02:43 +02:00
} ;
# define UPDATE_ACCEPT__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & update_accept__descriptor ) \
2015-07-29 04:30:49 +02:00
, NULL , NULL }
2015-06-10 13:02:43 +02:00
/*
* Thanks for accepting , here ' s my last bit .
*/
struct _UpdateSignature
{
ProtobufCMessage base ;
/*
* Signature for your new commitment tx .
*/
Signature * sig ;
2015-05-26 06:38:12 +02:00
/*
* Hash preimage which revokes old commitment tx .
*/
Sha256Hash * revocation_preimage ;
} ;
2015-06-10 13:02:43 +02:00
# define UPDATE_SIGNATURE__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & update_signature__descriptor ) \
, NULL , NULL }
2015-05-26 06:38:12 +02:00
/*
* Complete the update .
*/
struct _UpdateComplete
{
ProtobufCMessage base ;
/*
* Hash preimage which revokes old commitment tx .
*/
Sha256Hash * revocation_preimage ;
} ;
# define UPDATE_COMPLETE__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & update_complete__descriptor ) \
, NULL }
/*
2016-03-24 02:39:41 +01:00
* Start clearing out the channel HTLCs so we can close it
2015-05-26 06:38:12 +02:00
*/
2016-03-24 02:39:41 +01:00
struct _CloseClearing
2015-05-26 06:38:12 +02:00
{
ProtobufCMessage base ;
} ;
2016-03-24 02:39:41 +01:00
# define CLOSE_CLEARING__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & close_clearing__descriptor ) \
}
2015-05-26 06:38:12 +02:00
2016-03-24 02:39:41 +01:00
struct _CloseSignature
2015-05-26 06:38:12 +02:00
{
ProtobufCMessage base ;
/*
2016-03-24 02:39:41 +01:00
* Fee in satoshis .
*/
uint64_t close_fee ;
/*
* Signature on the close transaction .
2015-05-26 06:38:12 +02:00
*/
2015-06-01 04:26:09 +02:00
Signature * sig ;
2015-05-26 06:38:12 +02:00
} ;
2016-03-24 02:39:41 +01:00
# define CLOSE_SIGNATURE__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & close_signature__descriptor ) \
, 0 , NULL }
2015-09-24 07:32:52 +02:00
2015-05-26 06:38:12 +02:00
/*
* 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 ,
2016-01-21 21:11:48 +01:00
PKT__PKT_AUTH = 50 ,
2015-09-24 07:32:54 +02:00
PKT__PKT_OPEN = 20 ,
PKT__PKT_OPEN_ANCHOR = 21 ,
PKT__PKT_OPEN_COMMIT_SIG = 22 ,
PKT__PKT_OPEN_COMPLETE = 23 ,
2015-08-07 05:15:30 +02:00
PKT__PKT_UPDATE_ADD_HTLC = 2 ,
PKT__PKT_UPDATE_ACCEPT = 3 ,
PKT__PKT_UPDATE_SIGNATURE = 4 ,
PKT__PKT_UPDATE_COMPLETE = 5 ,
2015-09-24 07:32:49 +02:00
PKT__PKT_UPDATE_DECLINE_HTLC = 6 ,
2015-09-25 04:21:18 +02:00
PKT__PKT_UPDATE_FULFILL_HTLC = 7 ,
2016-03-08 01:11:15 +01:00
PKT__PKT_UPDATE_FAIL_HTLC = 9 ,
2016-03-24 02:39:41 +01:00
PKT__PKT_CLOSE_CLEARING = 30 ,
PKT__PKT_CLOSE_SIGNATURE = 31 ,
2015-09-24 07:32:54 +02:00
PKT__PKT_ERROR = 40 ,
2015-05-26 06:38:12 +02:00
} Pkt__PktCase ;
/*
* This is the union which defines all of them
*/
struct _Pkt
{
ProtobufCMessage base ;
Pkt__PktCase pkt_case ;
union {
2016-01-21 21:11:48 +01:00
/*
* Start of connection
*/
Authenticate * auth ;
2015-05-26 06:38:12 +02:00
/*
* Opening
*/
OpenChannel * open ;
2015-07-29 08:44:28 +02:00
OpenAnchor * open_anchor ;
2015-05-26 06:38:12 +02:00
OpenCommitSig * open_commit_sig ;
OpenComplete * open_complete ;
/*
* Updating ( most common )
*/
2015-08-07 05:15:30 +02:00
UpdateAddHtlc * update_add_htlc ;
2015-05-26 06:38:12 +02:00
UpdateAccept * update_accept ;
2015-06-10 13:02:43 +02:00
UpdateSignature * update_signature ;
2015-05-26 06:38:12 +02:00
UpdateComplete * update_complete ;
2015-09-24 07:32:46 +02:00
UpdateDeclineHtlc * update_decline_htlc ;
2015-09-25 04:21:18 +02:00
UpdateFulfillHtlc * update_fulfill_htlc ;
2016-03-08 01:11:15 +01:00
UpdateFailHtlc * update_fail_htlc ;
2015-05-26 06:38:12 +02:00
/*
* Closing
*/
2016-03-24 02:39:41 +01:00
CloseClearing * close_clearing ;
CloseSignature * close_signature ;
2015-05-26 06:38:12 +02:00
/*
* Unexpected issue .
*/
Error * error ;
} ;
} ;
# define PKT__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & pkt__descriptor ) \
, PKT__PKT__NOT_SET , { } }
/* 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 ) ;
2015-06-01 04:26:09 +02:00
/* 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 ) ;
2015-08-07 05:15:30 +02:00
/* 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 ) ;
2015-05-28 23:38:27 +02:00
/* 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 ) ;
2015-09-24 07:32:46 +02:00
/* 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 ) ;
2016-01-21 21:11:48 +01:00
/* 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 ) ;
2015-05-26 06:38:12 +02:00
/* 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 ) ;
2015-07-29 08:44:28 +02:00
/* 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 ) ;
2015-05-26 06:38:12 +02:00
/* 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 ) ;
2015-08-07 05:15:30 +02:00
/* 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 ) ;
2015-09-24 07:32:46 +02:00
/* UpdateDeclineHtlc methods */
void update_decline_htlc__init
( UpdateDeclineHtlc * message ) ;
size_t update_decline_htlc__get_packed_size
( const UpdateDeclineHtlc * message ) ;
size_t update_decline_htlc__pack
( const UpdateDeclineHtlc * message ,
uint8_t * out ) ;
size_t update_decline_htlc__pack_to_buffer
( const UpdateDeclineHtlc * message ,
ProtobufCBuffer * buffer ) ;
UpdateDeclineHtlc *
update_decline_htlc__unpack
( ProtobufCAllocator * allocator ,
size_t len ,
const uint8_t * data ) ;
void update_decline_htlc__free_unpacked
( UpdateDeclineHtlc * message ,
ProtobufCAllocator * allocator ) ;
2015-09-25 04:21:18 +02:00
/* 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 ,
2015-08-07 05:15:30 +02:00
uint8_t * out ) ;
2015-09-25 04:21:18 +02:00
size_t update_fulfill_htlc__pack_to_buffer
( const UpdateFulfillHtlc * message ,
2015-08-07 05:15:30 +02:00
ProtobufCBuffer * buffer ) ;
2015-09-25 04:21:18 +02:00
UpdateFulfillHtlc *
update_fulfill_htlc__unpack
2015-08-07 05:15:30 +02:00
( ProtobufCAllocator * allocator ,
size_t len ,
const uint8_t * data ) ;
2015-09-25 04:21:18 +02:00
void update_fulfill_htlc__free_unpacked
( UpdateFulfillHtlc * message ,
2015-08-07 05:15:30 +02:00
ProtobufCAllocator * allocator ) ;
2016-03-08 01:11:15 +01:00
/* 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 ,
2015-08-07 05:15:30 +02:00
uint8_t * out ) ;
2016-03-08 01:11:15 +01:00
size_t update_fail_htlc__pack_to_buffer
( const UpdateFailHtlc * message ,
2015-08-07 05:15:30 +02:00
ProtobufCBuffer * buffer ) ;
2016-03-08 01:11:15 +01:00
UpdateFailHtlc *
update_fail_htlc__unpack
2015-08-07 05:15:30 +02:00
( ProtobufCAllocator * allocator ,
size_t len ,
const uint8_t * data ) ;
2016-03-08 01:11:15 +01:00
void update_fail_htlc__free_unpacked
( UpdateFailHtlc * message ,
2015-08-07 05:15:30 +02:00
ProtobufCAllocator * allocator ) ;
2015-05-26 06:38:12 +02:00
/* UpdateAccept methods */
void update_accept__init
( UpdateAccept * message ) ;
size_t update_accept__get_packed_size
( const UpdateAccept * message ) ;
size_t update_accept__pack
( const UpdateAccept * message ,
uint8_t * out ) ;
size_t update_accept__pack_to_buffer
( const UpdateAccept * message ,
ProtobufCBuffer * buffer ) ;
UpdateAccept *
update_accept__unpack
( ProtobufCAllocator * allocator ,
size_t len ,
const uint8_t * data ) ;
void update_accept__free_unpacked
( UpdateAccept * message ,
ProtobufCAllocator * allocator ) ;
2015-06-10 13:02:43 +02:00
/* UpdateSignature methods */
void update_signature__init
( UpdateSignature * message ) ;
size_t update_signature__get_packed_size
( const UpdateSignature * message ) ;
size_t update_signature__pack
( const UpdateSignature * message ,
uint8_t * out ) ;
size_t update_signature__pack_to_buffer
( const UpdateSignature * message ,
ProtobufCBuffer * buffer ) ;
UpdateSignature *
update_signature__unpack
( ProtobufCAllocator * allocator ,
size_t len ,
const uint8_t * data ) ;
void update_signature__free_unpacked
( UpdateSignature * message ,
ProtobufCAllocator * allocator ) ;
2015-05-26 06:38:12 +02:00
/* UpdateComplete methods */
void update_complete__init
( UpdateComplete * message ) ;
size_t update_complete__get_packed_size
( const UpdateComplete * message ) ;
size_t update_complete__pack
( const UpdateComplete * message ,
uint8_t * out ) ;
size_t update_complete__pack_to_buffer
( const UpdateComplete * message ,
ProtobufCBuffer * buffer ) ;
UpdateComplete *
update_complete__unpack
( ProtobufCAllocator * allocator ,
size_t len ,
const uint8_t * data ) ;
void update_complete__free_unpacked
( UpdateComplete * message ,
ProtobufCAllocator * allocator ) ;
2016-03-24 02:39:41 +01:00
/* CloseClearing methods */
void close_clearing__init
( CloseClearing * message ) ;
size_t close_clearing__get_packed_size
( const CloseClearing * message ) ;
size_t close_clearing__pack
( const CloseClearing * message ,
2015-05-26 06:38:12 +02:00
uint8_t * out ) ;
2016-03-24 02:39:41 +01:00
size_t close_clearing__pack_to_buffer
( const CloseClearing * message ,
2015-05-26 06:38:12 +02:00
ProtobufCBuffer * buffer ) ;
2016-03-24 02:39:41 +01:00
CloseClearing *
close_clearing__unpack
2015-05-26 06:38:12 +02:00
( ProtobufCAllocator * allocator ,
size_t len ,
const uint8_t * data ) ;
2016-03-24 02:39:41 +01:00
void close_clearing__free_unpacked
( CloseClearing * message ,
2015-05-26 06:38:12 +02:00
ProtobufCAllocator * allocator ) ;
2016-03-24 02:39:41 +01:00
/* 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 ,
2015-05-26 06:38:12 +02:00
uint8_t * out ) ;
2016-03-24 02:39:41 +01:00
size_t close_signature__pack_to_buffer
( const CloseSignature * message ,
2015-05-26 06:38:12 +02:00
ProtobufCBuffer * buffer ) ;
2016-03-24 02:39:41 +01:00
CloseSignature *
close_signature__unpack
2015-05-26 06:38:12 +02:00
( ProtobufCAllocator * allocator ,
size_t len ,
const uint8_t * data ) ;
2016-03-24 02:39:41 +01:00
void close_signature__free_unpacked
( CloseSignature * message ,
2015-09-24 07:32:52 +02:00
ProtobufCAllocator * allocator ) ;
2015-05-26 06:38:12 +02:00
/* 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 ) ;
2015-06-01 04:26:09 +02:00
typedef void ( * Signature_Closure )
( const Signature * message ,
void * closure_data ) ;
2015-08-07 05:15:30 +02:00
typedef void ( * Locktime_Closure )
( const Locktime * message ,
void * closure_data ) ;
2015-05-28 23:38:27 +02:00
typedef void ( * BitcoinPubkey_Closure )
( const BitcoinPubkey * message ,
void * closure_data ) ;
2015-09-24 07:32:46 +02:00
typedef void ( * Funding_Closure )
( const Funding * message ,
void * closure_data ) ;
2016-01-21 21:11:48 +01:00
typedef void ( * Authenticate_Closure )
( const Authenticate * message ,
void * closure_data ) ;
2015-05-26 06:38:12 +02:00
typedef void ( * OpenChannel_Closure )
( const OpenChannel * message ,
void * closure_data ) ;
2015-07-29 08:44:28 +02:00
typedef void ( * OpenAnchor_Closure )
( const OpenAnchor * message ,
void * closure_data ) ;
2015-05-26 06:38:12 +02:00
typedef void ( * OpenCommitSig_Closure )
( const OpenCommitSig * message ,
void * closure_data ) ;
typedef void ( * OpenComplete_Closure )
( const OpenComplete * message ,
void * closure_data ) ;
2015-08-07 05:15:30 +02:00
typedef void ( * UpdateAddHtlc_Closure )
( const UpdateAddHtlc * message ,
void * closure_data ) ;
2015-09-24 07:32:46 +02:00
typedef void ( * UpdateDeclineHtlc_Closure )
( const UpdateDeclineHtlc * message ,
void * closure_data ) ;
2015-09-25 04:21:18 +02:00
typedef void ( * UpdateFulfillHtlc_Closure )
( const UpdateFulfillHtlc * message ,
2015-08-07 05:15:30 +02:00
void * closure_data ) ;
2016-03-08 01:11:15 +01:00
typedef void ( * UpdateFailHtlc_Closure )
( const UpdateFailHtlc * message ,
2015-08-07 05:15:30 +02:00
void * closure_data ) ;
2015-05-26 06:38:12 +02:00
typedef void ( * UpdateAccept_Closure )
( const UpdateAccept * message ,
void * closure_data ) ;
2015-06-10 13:02:43 +02:00
typedef void ( * UpdateSignature_Closure )
( const UpdateSignature * message ,
void * closure_data ) ;
2015-05-26 06:38:12 +02:00
typedef void ( * UpdateComplete_Closure )
( const UpdateComplete * message ,
void * closure_data ) ;
2016-03-24 02:39:41 +01:00
typedef void ( * CloseClearing_Closure )
( const CloseClearing * message ,
2015-05-26 06:38:12 +02:00
void * closure_data ) ;
2016-03-24 02:39:41 +01:00
typedef void ( * CloseSignature_Closure )
( const CloseSignature * message ,
2015-09-24 07:32:52 +02:00
void * closure_data ) ;
2015-05-26 06:38:12 +02:00
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 ;
2015-06-01 04:26:09 +02:00
extern const ProtobufCMessageDescriptor signature__descriptor ;
2015-08-07 05:15:30 +02:00
extern const ProtobufCMessageDescriptor locktime__descriptor ;
2015-05-28 23:38:27 +02:00
extern const ProtobufCMessageDescriptor bitcoin_pubkey__descriptor ;
2015-09-24 07:32:46 +02:00
extern const ProtobufCMessageDescriptor funding__descriptor ;
2016-01-21 21:11:48 +01:00
extern const ProtobufCMessageDescriptor authenticate__descriptor ;
2015-05-26 06:38:12 +02:00
extern const ProtobufCMessageDescriptor open_channel__descriptor ;
2015-07-29 08:44:28 +02:00
extern const ProtobufCEnumDescriptor open_channel__anchor_offer__descriptor ;
extern const ProtobufCMessageDescriptor open_anchor__descriptor ;
2015-05-26 06:38:12 +02:00
extern const ProtobufCMessageDescriptor open_commit_sig__descriptor ;
extern const ProtobufCMessageDescriptor open_complete__descriptor ;
2015-08-07 05:15:30 +02:00
extern const ProtobufCMessageDescriptor update_add_htlc__descriptor ;
2015-09-24 07:32:46 +02:00
extern const ProtobufCMessageDescriptor update_decline_htlc__descriptor ;
2015-09-25 04:21:18 +02:00
extern const ProtobufCMessageDescriptor update_fulfill_htlc__descriptor ;
2016-03-08 01:11:15 +01:00
extern const ProtobufCMessageDescriptor update_fail_htlc__descriptor ;
2015-05-26 06:38:12 +02:00
extern const ProtobufCMessageDescriptor update_accept__descriptor ;
2015-06-10 13:02:43 +02:00
extern const ProtobufCMessageDescriptor update_signature__descriptor ;
2015-05-26 06:38:12 +02:00
extern const ProtobufCMessageDescriptor update_complete__descriptor ;
2016-03-24 02:39:41 +01:00
extern const ProtobufCMessageDescriptor close_clearing__descriptor ;
extern const ProtobufCMessageDescriptor close_signature__descriptor ;
2015-05-26 06:38:12 +02:00
extern const ProtobufCMessageDescriptor error__descriptor ;
extern const ProtobufCMessageDescriptor pkt__descriptor ;
PROTOBUF_C__END_DECLS
# endif /* PROTOBUF_C_lightning_2eproto__INCLUDED */