X-Git-Url: https://git.distorted.org.uk/~mdw/tripe/blobdiff_plain/a9279e37b649abd11bbc416398cfaf787cd8d865..f241e36cca984bac62d30783bca3b36808070312:/server/tripe.h diff --git a/server/tripe.h b/server/tripe.h index c5694dc1..2ffe978f 100644 --- a/server/tripe.h +++ b/server/tripe.h @@ -226,6 +226,8 @@ typedef struct keyset { #define KSERR_REGEN -1 /* Regenerate keys */ #define KSERR_NOKEYS -2 /* No keys left */ #define KSERR_DECRYPT -3 /* Unable to decrypt message */ +#define KSERR_SEQ -4 /* Incorrect sequence number */ +#define KSERR_MALFORMED -5 /* Input ciphertext is broken */ /* --- Key exchange --- * * @@ -338,7 +340,9 @@ typedef struct peerspec { unsigned long t_ka; /* Keep alive interval */ addr sa; /* Socket address to speak to */ size_t sasz; /* Socket address size */ - unsigned kxf; /* Key exchange flags to set */ + unsigned f; /* Flags for the peer */ +#define PSF_KXMASK 255u /* Key-exchange flags to set */ +#define PSF_MOBILE 256u /* Address may change rapidly */ } peerspec; typedef struct peer_byname { @@ -857,6 +861,19 @@ extern int c_check(buf */*b*/); extern void a_vformat(dstr */*d*/, const char */*fmt*/, va_list /*ap*/); +/* --- @a_format@ --- * + * + * Arguments: @dstr *d@ = where to leave the formatted message + * @const char *fmt@ = pointer to format string + * + * Returns: --- + * + * Use: Writes a tokenized message into a string, for later + * presentation. + */ + +extern void a_format(dstr */*d*/, const char */*fmt*/, ...); + /* --- @a_warn@ --- * * * Arguments: @const char *fmt@ = pointer to format string @@ -1308,7 +1325,7 @@ extern void p_destroy(peer */*p*/); #define FOREACH_PEER(p, stuff) do { \ peer_iter i_; \ peer *p; \ - for (p_mkiter(&i_); (p = p_next(&i_)) != 0; ) do stuff while (0); \ + for (p_mkiter(&i_); (p = p_next(&i_)) != 0; ) stuff \ } while (0) /* --- @p_mkiter@ --- *