X-Git-Url: https://git.distorted.org.uk/~mdw/tripe/blobdiff_plain/786989941b7b4504f0234c4a318f929802e981ad..e6a3a5537973f060bbfbe9b5aecfd9c0312a1a7f:/server/tripe.h?ds=sidebyside diff --git a/server/tripe.h b/server/tripe.h index 59ae9c94..e917ddb0 100644 --- a/server/tripe.h +++ b/server/tripe.h @@ -314,6 +314,7 @@ typedef struct peer { struct ping *pings; /* Pings we're waiting for */ peerspec spec; /* Specifications for this peer */ tunnel *t; /* Tunnel for local packets */ + char *ifname; /* Interface name for tunnel */ keyset *ks; /* List head for keysets */ buf b; /* Buffer for sending packets */ stats st; /* Statistics */ @@ -791,6 +792,19 @@ extern void a_create(int /*fd_in*/, int /*fd_out*/, unsigned /*f*/); extern void a_quit(void); +/* --- @a_preselect@ --- * + * + * Arguments: --- + * + * Returns: --- + * + * Use: Informs the admin module that we're about to select again, + * and that it should do cleanup things it has delayed until a + * `safe' time. + */ + +extern void a_preselect(void); + /* --- @a_daemon@ --- * * * Arguments: --- @@ -935,6 +949,18 @@ extern stats *p_stats(peer */*p*/); extern const char *p_ifname(peer */*p*/); +/* --- @p_setifname@ --- * + * + * Arguments: @peer *p@ = pointer to a peer block + * @const char *name@ = pointer to the new name + * + * Returns: --- + * + * Use: Changes the name held for a peer's interface. + */ + +extern void p_setifname(peer */*p*/, const char */*name*/); + /* --- @p_addr@ --- * * * Arguments: @peer *p@ = pointer to a peer block @@ -1120,6 +1146,39 @@ extern void seq_reset(seqwin */*s*/); extern int seq_check(seqwin */*s*/, uint32 /*q*/, const char */*service*/); +/* --- @versioncmp@ --- * + * + * Arguments: @const char *va, *vb@ = two version strings + * + * Returns: Less than, equal to, or greater than zero, according to + * whether @va@ is less than, equal to, or greater than @vb@. + * + * Use: Compares version number strings. + * + * The algorithm is an extension of the Debian version + * comparison algorithm. A version number consists of three + * components: + * + * [EPOCH :] MAIN [- SUB] + * + * The MAIN part may contain colons or hyphens if there is an + * EPOCH or SUB, respectively. Version strings are compared + * componentwise: first epochs, then main parts, and finally + * subparts. + * + * The component comparison is done as follows. First, the + * initial subsequence of nondigit characters is extracted from + * each string, and these are compared lexicographically, using + * ASCII ordering, except that letters precede non-letters. If + * both are the same, an initial sequence of digits is extracted + * from the remaining parts of the version strings, and these + * are compared numerically (an empty sequence being considered + * to have the value zero). This process is repeated until we + * have a winner or until both strings are exhausted. + */ + +extern int versioncmp(const char */*va*/, const char */*vb*/); + /*----- That's all, folks -------------------------------------------------*/ #ifdef __cplusplus