X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=util.h;h=1086ad8d2daf6a6dd4d2a0f6953b87cfb987d8fc;hb=7bc98088613be17894eba5313bb953244c48d458;hp=506a6e2f6f6619c0d86dc44c86e653be59cbd809;hpb=7a6c23bac7ef5f32da64edbb69edc0192bf9e637;p=secnet.git diff --git a/util.h b/util.h index 506a6e2..1086ad8 100644 --- a/util.h +++ b/util.h @@ -75,11 +75,15 @@ void priomsg_destroy(struct priomsg *pm, int32_t maxlen); /* FZM -> F */ void priomsg_reset(struct priomsg *pm); /* FZM -> Z */ bool_t priomsg_update_p(struct priomsg *pm, int prio); /* ZM -> M */ /* returns true iff message of priority prio ought to be added, - * caller should then call truncmsg_add_*. */ + * caller should then call truncmsg_add_*. + * pm may be NULL, in which case it just returns false */ const char *priomsg_getmessage(const struct priomsg *pm, const char *defmsg); /* return value is null-terminated, valid until next call * or until defmsg is no longer valid ZM */ +bool_t priomsg_update_fixed(struct priomsg *pm, int prio, const char *m); + /* convenience combination of _update_p and truncmsg_add_string */ + /* * void BUF_ADD_BYTES(append, struct buffer_if*, const void*, int32_t size); * void BUF_ADD_BYTES(prepend, struct buffer_if*, const void*, int32_t size); @@ -165,6 +169,20 @@ void string_item_to_iaddr(const item_t *item, uint16_t port, union iaddr *ia, const char *desc); +/*----- pathprefix_template -----*/ + +struct pathprefix_template { + char *buffer; + char *write_here; +}; + +void pathprefix_template_init(struct pathprefix_template *out, + const char *prefix, int maxsuffix); +static inline void pathprefix_template_setsuffix + (struct pathprefix_template *upd, const char *suffix) + { strcpy(upd->write_here,suffix); } + + /* * SBUF_DEFINE(int nbufs, size_t size); * // Generates a number of definitions and statements organising