chiark / gitweb /
debian/source/format: Apparently we need one of these.
[yaid] / yaid.h
diff --git a/yaid.h b/yaid.h
index 0f4efd895a9bceb2073d9b025c05dec0de08b0ea..eb874cbb1ed9da919554949d862355f748ab4265 100644 (file)
--- a/yaid.h
+++ b/yaid.h
@@ -252,6 +252,9 @@ struct query {
 extern void PRINTF_LIKE(3, 4)
   logmsg(const struct query */*q*/, int /*prio*/, const char */*msg*/, ...);
 
+/* Format and report MSG as a fatal error, and exit. */
+extern void PRINTF_LIKE(1, 2) fatal(const char */*msg*/, ...);
+
 /*----- System-specific connection identification code --------------------*/
 
 /* Find out who is responsible for the connection described in the query Q.
@@ -260,6 +263,12 @@ extern void PRINTF_LIKE(3, 4)
  */
 extern void identify(struct query */*q*/);
 
+/* Fill the buffer at P with SZ random bytes.  The buffer will be moderately
+ * large: this is intended to be a low-level interface, not a general-purpose
+ * utility.
+ */
+extern void fill_random(void */*p*/, size_t /*sz*/);
+
 /* Initialize the system-specific code. */
 extern void init_sys(void);
 
@@ -348,6 +357,11 @@ struct policy_file {
 
 /* Open a policy file by NAME.  The description WHAT and query Q are used for
  * formatting error messages for the log.
+ *
+ * This function is somewhat careful only to read from actual regular files,
+ * though (if the filesystem object identified by NAME is a symlink, say) it
+ * might open a device node or other exotic thing without reading it.  This
+ * is likely harmless, since we're running as an unprivileged user anyway.
  */
 extern int open_policy_file(struct policy_file */*pf*/, const char */*name*/,
                            const char */*what*/, const struct query */*q*/,