# These are fatal. gossipstatus_init_failed,0x8000 gossipstatus_bad_new_peer_request,0x8001 gossipstatus_bad_release_request,0x8002 gossipstatus_bad_request,0x8003 gossipstatus_fdpass_failed,0x8004 # Peers can give a bad message, we close their fd, but no harm done. gossipstatus_peer_bad_msg,1000 gossipstatus_peer_bad_msg,0,unique_id,8 gossipstatus_peer_bad_msg,8,len,2 gossipstatus_peer_bad_msg,10,err,len*u8 # Misc problems like opening control fd. gossipstatus_peer_failed,1001 gossipstatus_peer_failed,0,unique_id,8 gossipstatus_peer_failed,8,len,2 gossipstatus_peer_failed,10,err,len*u8 #include # These take an fd, but have no response # (if it is to move onto a channel, we get a status msg). gossipctl_new_peer,1 gossipctl_new_peer,0,unique_id,8 gossipctl_new_peer,8,crypto_state,struct crypto_state # Tell it to release a peer which has initialized. gossipctl_release_peer,2 gossipctl_release_peer,0,unique_id,8 # This releases the peer and returns the cryptostate (followed two fds: peer and gossip) gossipctl_release_peer_reply,102 gossipctl_release_peer_reply,0,unique_id,8 gossipctl_release_peer_reply,8,crypto_state,struct crypto_state # This is where we save a peer's features. #gossipstatus_peer_features,1 #gossipstatus_peer_features,0,unique_id,8 #gossipstatus_peer_features,8,gflen,2 #gossipstatus_peer_features,10,globalfeatures,gflen #gossipstatus_peer_features,10+gflen,lflen,2 #gossipstatus_peer_features,12+gflen,localfeatures,lflen # Peer init handshake complete (now you can release_peer if you want) gossipstatus_peer_ready,3 gossipstatus_peer_ready,0,unique_id,8 # Peer can send non-gossip packet (usually an open_channel) (followed two fds: peer and gossip) gossipstatus_peer_nongossip,4 gossipstatus_peer_nongossip,0,unique_id,8 gossipstatus_peer_nongossip,10,crypto_state,struct crypto_state gossipstatus_peer_nongossip,154,len,2 gossipstatus_peer_nongossip,156,msg,len*u8 # Pass JSON-RPC getnodes call through gossip_getnodes_request,5 #include gossip_getnodes_reply,105 gossip_getnodes_reply,0,num_nodes,u16 gossip_getnodes_reply,2,nodes,num_nodes*struct gossip_getnodes_entry # Pass JSON-RPC getroute call through gossip_getroute_request,6 gossip_getroute_request,0,source,struct pubkey gossip_getroute_request,33,destination,struct pubkey gossip_getroute_request,66,msatoshi,u32 gossip_getroute_request,70,riskfactor,u16 gossip_getroute_reply,106 gossip_getroute_reply,0,num_hops,u16 gossip_getroute_reply,2,hops,num_hops*struct route_hop