X-Git-Url: https://git.distorted.org.uk/~mdw/tripe/blobdiff_plain/b7e1e18b57c30555f65a2548e0f1f186200c0ea8..HEAD:/priv/priv.h diff --git a/priv/priv.h b/priv/priv.h index 225075a6..d547d149 100644 --- a/priv/priv.h +++ b/priv/priv.h @@ -9,19 +9,18 @@ * * This file is part of Trivial IP Encryption (TrIPE). * - * TrIPE is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * TrIPE is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 3 of the License, or (at your + * option) any later version. * - * TrIPE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * TrIPE is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. * * You should have received a copy of the GNU General Public License - * along with TrIPE; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with TrIPE. If not, see . */ #ifndef PRIV_H @@ -68,17 +67,21 @@ * * The protocol works like this. Messages begin with a request code which is * a single @unsigned int@. The server sends a request @PS_TUNRQ@ to the - * helper, followed by a @const tunnel_ops *@ referring to the tunnel driver - * of interest. The server responds with a sequence of @PS_TRACE@ and/or - * @PS_WARN@ messages, followed by either a @PS_TUNFD@ carrying a file - * descriptor, or a @PS_TUNERR@ followed by an integer @errno@ code. + * helper, followed by a strin naming the tunnel driver of interest. The + * server responds with a sequence of @PS_TRACE@ and/or @PS_WARN@ messages, + * followed by either a @PS_TUNFD@ carrying a file descriptor, or a + * @PS_TUNERR@ followed by an integer @errno@ code. + * + * Simple data items are sent as native representations. A string is sent as + * a @size_t@ giving the string's length in bytes followed by that many + * characters. There is no padding for alignment. * * If all else fails, the helper process will just quit. */ enum { - PS_TUNRQ, /* Request (@tunnel_ops *@) */ - PS_TUNFD, /* Tunnel descriptor (string) */ + PS_TUNRQ, /* Request (string) */ + PS_TUNFD, /* Tunnel descriptor (nothing) */ PS_TUNERR, /* Error (@int errno@) */ #ifndef NTRACE PS_TRACE, /* Trace (@unsigned mask@, string) */ @@ -101,7 +104,7 @@ extern int pc_fd; /* File descriptor for comms */ _(uint, unsigned int) \ _(sz, size_t) -/* --- @put@ --- * +/* --- @pc_put@ --- * * * Arguments: @const void *p@ = pointer to buffer * @size_t sz@ = size of the buffer @@ -113,34 +116,33 @@ extern int pc_fd; /* File descriptor for comms */ extern int pc_put(const void */*p*/, size_t /*sz*/); -/* --- @puterr@, @putuint@, @putsz@, @puttops@ --- * +/* --- @pc_puterr@, @pc_putuint@, @pc_putsz@ --- * * * Arguments: @int err@ = error number to write * @uint u@ = unsigned integer to write * @size_t sz@ = size to write - * @const tunnel_ops *tops@ = tunnel pointer to write * * Returns: Zero on success, @-1@ on error (and @errno@ set). * - * Use: Sends an error/integer/size/tunnel-ops pointer. + * Use: Sends an error/integer/size. */ #define DECL(abbr, type) extern int pc_put##abbr(type /*x*/); COMM_TYPES(DECL) #undef DECL -/* --- @putstring@ --- * +/* --- @pc_putstring@ --- * * * Arguments: @const char *s@ = pointer to string to write * * Returns: Zero on success, @-1@ on error (and @errno@ set). * - * Use: Sends a string/error/integer/tunnel-ops pointer. + * Use: Sends a string. */ extern int pc_putstring(const char */*s*/); -/* --- @get@ --- * +/* --- @pc_get@ --- * * * Arguments: @void *p@ = pointer to buffer * @size_t sz@ = size of the buffer @@ -152,23 +154,22 @@ extern int pc_putstring(const char */*s*/); extern int pc_get(void */*p*/, size_t /*sz*/); -/* --- @geterr@, @getuint@, @getsz@, @getops@ --- * +/* --- @pc_geterr@, @pc_getuint@, @pc_getsz@ --- * * * Arguments: @int *err@ = where to put the error number * @uint *u@ = where to put the unsigned integer * @size_t *sz@ = where to put the size - * @const tunnel_ops **tops@ = where to put the tunnel pointer * * Returns: Zero on success, @-1@ on error (and @errno@ set). * - * Use: Receives an error/integer/size/tunnel-ops pointer. + * Use: Receives an error/integer/size. */ #define DECL(abbr, type) extern int pc_get##abbr(type */*x*/); COMM_TYPES(DECL) #undef DECL -/* --- @gettring@ --- * +/* --- @pc_getstring@ --- * * * Arguments: @dstr *d@ = where to put the string *