chiark / gitweb /
subdirmk: Change stub force target to `run-main.mk'
[secnet.git] / secnet.h
index eb8bf0cc011fc883980f90226f7fe7c90e56122d..7da7c2d5a9935a7cd6bbb8285c8921faa7506594 100644 (file)
--- a/secnet.h
+++ b/secnet.h
 #define MAX_PEER_ADDRS 5
 /* send at most this many copies; honour at most that many addresses */
 
+#define MAX_NAK_MSG 80
+
 struct hash_if;
 struct comm_if;
 struct comm_addr;
+struct priomsg;
 
 typedef char *string_t;
 typedef const char *cstring_t;
@@ -462,10 +465,18 @@ typedef struct comm_clientinfo *comm_clientinfo_fn(void *state, dict_t*,
  * The semantics depend on the dict and defined by the comm, and
  * should be documented in README. */
 
+enum {
+    comm_notify_whynot_general,
+    comm_notify_whynot_unpick,
+    comm_notify_whynot_name_local,
+    comm_notify_whynot_name_remote,
+};
+
 /* Return True if the packet was processed, and shouldn't be passed to
    any other potential receivers. (buf is freed iff True returned.) */
 typedef bool_t comm_notify_fn(void *state, struct buffer_if *buf,
-                             const struct comm_addr *source);
+                             const struct comm_addr *source,
+                             struct priomsg *whynot);
 typedef void comm_request_notify_fn(void *commst, void *nst,
                                    comm_notify_fn *fn);
 typedef void comm_release_notify_fn(void *commst, void *nst,
@@ -659,7 +670,6 @@ struct hash_if {
 struct buffer_if {
     bool_t free;
     cstring_t owner; /* Set to constant string */
-    uint32_t flags; /* How paranoid should we be? */
     struct cloc loc; /* Where we were defined */
     uint8_t *base;
     uint8_t *start;