[master] 2dbbcb4 More #include shufflery

Poul-Henning Kamp phk at varnish-cache.org
Sun Oct 9 18:13:15 CEST 2011


commit 2dbbcb4405a4bd25401f40ffcfc27bef2e42fb64
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Sun Oct 9 16:12:58 2011 +0000

    More #include shufflery

diff --git a/include/Makefile.am b/include/Makefile.am
index c68e07c..93f61e0 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -15,6 +15,7 @@ pkginclude_HEADERS = \
 	tbl/vsc_all.h \
 	tbl/vsc_fields.h \
 	tbl/vsl_tags.h \
+	vapi/vsm.h \
 	varnishapi.h \
 	vcli.h \
 	vsc.h \
diff --git a/include/vapi/vsm.h b/include/vapi/vsm.h
new file mode 100644
index 0000000..8948028
--- /dev/null
+++ b/include/vapi/vsm.h
@@ -0,0 +1,139 @@
+/*-
+ * Copyright (c) 2006 Verdens Gang AS
+ * Copyright (c) 2006-2011 Varnish Software AS
+ * All rights reserved.
+ *
+ * Author: Poul-Henning Kamp <phk at phk.freebsd.dk>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#ifndef VAPI_VSM_H_INCLUDED
+#define VAPI_VSM_H_INCLUDED
+
+// #include <stdint.h>
+
+/*---------------------------------------------------------------------
+ * VSM level access functions
+ */
+
+struct VSM_data *VSM_New(void);
+	/*
+	 * Allocate and initialize a VSL_data handle structure.
+	 * This is the first thing you will have to do, always.
+	 * You can have multiple active VSL_data handles at the same time
+	 * referencing the same or different shared memory files.
+	 * Returns:
+	 *	Pointer to usable VSL_data handle.
+	 */
+
+typedef void VSM_diag_f(void *priv, const char *fmt, ...);
+
+void VSM_Diag(struct VSM_data *vd, VSM_diag_f *func, void *priv);
+	/*
+	 * Set the diagnostics reporting function.
+	 * Default is fprintf(stderr, ...)
+	 * If func is NULL, diagnostics are disabled.
+	 */
+
+#define VSM_n_USAGE	"[-n varnish_name]"
+
+int VSM_n_Arg(struct VSM_data *vd, const char *n_arg);
+	/*
+	 * Configure which varnishd instance to access.
+	 * Can also be, and normally is done through the VSL_Log_arg()
+	 * and VSC_Arg() functions.
+	 * Returns:
+	 *	 1 on success
+	 *	 -1 on failure, with diagnostic on stderr.
+	 */
+
+const char *VSM_Name(const struct VSM_data *vd);
+	/*
+	 * Return the instance name.
+	 */
+
+void VSM_Delete(struct VSM_data *vd);
+	/*
+	 * Close and deallocate all storage and mappings.
+	 */
+
+/* XXX: extension:  Patience argument for sleeps */
+
+int VSM_Open(struct VSM_data *vd, int diag);
+	/*
+	 * Attempt to open and map the shared memory file.
+	 * If diag is non-zero, diagnostics are emitted.
+	 * Returns:
+	 *	0 on success
+	 *	!= 0 on failure
+	 */
+
+int VSM_ReOpen(struct VSM_data *vd, int diag);
+	/*
+	 * Check if shared memory segment needs to be reopened/remapped
+	 * typically when the varnishd master process restarts.
+	 * diag is passed to VSM_Open()
+	 * Returns:
+	 *	0  No reopen needed.
+	 *	1  shared memory reopened/remapped.
+	 *	-1 failure to reopen.
+	 */
+
+unsigned VSM_Seq(const struct VSM_data *vd);
+	/*
+	 * Return the allocation sequence number
+	 */
+
+struct VSM_head *VSM_Head(const struct VSM_data *vd);
+	/*
+	 * Return the head of the VSM.
+	 */
+
+void *VSM_Find_Chunk(struct VSM_data *vd, const char *class,
+    const char *type, const char *ident, unsigned *lenp);
+	/*
+	 * Find a given chunk in the shared memory.
+	 * Returns pointer or NULL.
+	 * Lenp, if non-NULL, is set to length of chunk.
+	 */
+
+void VSM_Close(struct VSM_data *vd);
+	/*
+	 * Unmap shared memory
+	 * Deallocate all storage (including VSC and VSL allocations)
+	 */
+
+struct VSM_chunk *VSM_iter0(struct VSM_data *vd);
+void VSM_itern(const struct VSM_data *vd, struct VSM_chunk **pp);
+
+#define VSM_FOREACH(var, vd) \
+    for((var) = VSM_iter0((vd)); (var) != NULL; VSM_itern((vd), &(var)))
+
+	/*
+	 * Iterate over all chunks in shared memory
+	 * var = "struct VSM_chunk *"
+	 * vd = "struct VSM_data"
+	 */
+
+#endif /* VAPI_VSM_H_INCLUDED */
diff --git a/include/varnishapi.h b/include/varnishapi.h
index dcdd74f..235308a 100644
--- a/include/varnishapi.h
+++ b/include/varnishapi.h
@@ -31,6 +31,8 @@
 #ifndef VARNISHAPI_H_INCLUDED
 #define VARNISHAPI_H_INCLUDED
 
+#include <vapi/vsm.h>
+
 #include <stdint.h>
 
 #include "vsl.h"
@@ -43,109 +45,6 @@
 
 
 /*---------------------------------------------------------------------
- * VSM level access functions
- */
-
-struct VSM_data *VSM_New(void);
-	/*
-	 * Allocate and initialize a VSL_data handle structure.
-	 * This is the first thing you will have to do, always.
-	 * You can have multiple active VSL_data handles at the same time
-	 * referencing the same or different shared memory files.
-	 * Returns:
-	 *	Pointer to usable VSL_data handle.
-	 */
-
-typedef void VSM_diag_f(void *priv, const char *fmt, ...);
-
-void VSM_Diag(struct VSM_data *vd, VSM_diag_f *func, void *priv);
-	/*
-	 * Set the diagnostics reporting function.
-	 * Default is fprintf(stderr, ...)
-	 * If func is NULL, diagnostics are disabled.
-	 */
-
-#define VSM_n_USAGE	"[-n varnish_name]"
-
-int VSM_n_Arg(struct VSM_data *vd, const char *n_arg);
-	/*
-	 * Configure which varnishd instance to access.
-	 * Can also be, and normally is done through the VSL_Log_arg()
-	 * and VSC_Arg() functions.
-	 * Returns:
-	 *	 1 on success
-	 *	 -1 on failure, with diagnostic on stderr.
-	 */
-
-const char *VSM_Name(const struct VSM_data *vd);
-	/*
-	 * Return the instance name.
-	 */
-
-void VSM_Delete(struct VSM_data *vd);
-	/*
-	 * Close and deallocate all storage and mappings.
-	 */
-
-/* XXX: extension:  Patience argument for sleeps */
-
-int VSM_Open(struct VSM_data *vd, int diag);
-	/*
-	 * Attempt to open and map the shared memory file.
-	 * If diag is non-zero, diagnostics are emitted.
-	 * Returns:
-	 *	0 on success
-	 *	!= 0 on failure
-	 */
-
-int VSM_ReOpen(struct VSM_data *vd, int diag);
-	/*
-	 * Check if shared memory segment needs to be reopened/remapped
-	 * typically when the varnishd master process restarts.
-	 * diag is passed to VSM_Open()
-	 * Returns:
-	 *	0  No reopen needed.
-	 *	1  shared memory reopened/remapped.
-	 *	-1 failure to reopen.
-	 */
-
-unsigned VSM_Seq(const struct VSM_data *vd);
-	/*
-	 * Return the allocation sequence number
-	 */
-
-struct VSM_head *VSM_Head(const struct VSM_data *vd);
-	/*
-	 * Return the head of the VSM.
-	 */
-
-void *VSM_Find_Chunk(struct VSM_data *vd, const char *class,
-    const char *type, const char *ident, unsigned *lenp);
-	/*
-	 * Find a given chunk in the shared memory.
-	 * Returns pointer or NULL.
-	 * Lenp, if non-NULL, is set to length of chunk.
-	 */
-
-void VSM_Close(struct VSM_data *vd);
-	/*
-	 * Unmap shared memory
-	 * Deallocate all storage (including VSC and VSL allocations)
-	 */
-
-struct VSM_chunk *VSM_iter0(struct VSM_data *vd);
-void VSM_itern(const struct VSM_data *vd, struct VSM_chunk **pp);
-
-#define VSM_FOREACH(var, vd) \
-    for((var) = VSM_iter0((vd)); (var) != NULL; VSM_itern((vd), &(var)))
-
-	/*
-	 * Iterate over all chunks in shared memory
-	 * var = "struct VSM_chunk *"
-	 * vd = "struct VSM_data"
-	 */
-
-/*---------------------------------------------------------------------
  * VSC level access functions
  */
 



More information about the varnish-commit mailing list