[master] c27c7bb Give the VGZ functions their own include file

Poul-Henning Kamp phk at FreeBSD.org
Sat Sep 23 21:06:10 UTC 2017


commit c27c7bb5cdafdd24fb4f2879a7cce33eeddbd02a
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Sat Sep 23 21:05:07 2017 +0000

    Give the VGZ functions their own include file

diff --git a/bin/varnishd/Makefile.am b/bin/varnishd/Makefile.am
index 0abe151..7fe38a5 100644
--- a/bin/varnishd/Makefile.am
+++ b/bin/varnishd/Makefile.am
@@ -119,6 +119,7 @@ noinst_HEADERS = \
 	cache/cache_pool.h \
 	cache/cache_priv.h \
 	cache/cache_transport.h \
+	cache/cache_vgz.h \
 	common/heritage.h \
 	hash/hash_slinger.h \
 	hpack/vhp.h \
diff --git a/bin/varnishd/cache/cache.h b/bin/varnishd/cache/cache.h
index a1e8b36..f970f53 100644
--- a/bin/varnishd/cache/cache.h
+++ b/bin/varnishd/cache/cache.h
@@ -712,36 +712,6 @@ enum vbf_fetch_mode_e {
 void VBF_Fetch(struct worker *wrk, struct req *req,
     struct objcore *oc, struct objcore *oldoc, enum vbf_fetch_mode_e);
 
-/* cache_gzip.c */
-struct vgz;
-
-enum vgzret_e {
-	VGZ_ERROR = -1,
-	VGZ_OK = 0,
-	VGZ_END = 1,
-	VGZ_STUCK = 2,
-};
-
-enum vgz_flag { VGZ_NORMAL, VGZ_ALIGN, VGZ_RESET, VGZ_FINISH };
-// struct vgz *VGZ_NewUngzip(struct vsl_log *vsl, const char *id);
-struct vgz *VGZ_NewGzip(struct vsl_log *vsl, const char *id);
-void VGZ_Ibuf(struct vgz *, const void *, ssize_t len);
-int VGZ_IbufEmpty(const struct vgz *vg);
-void VGZ_Obuf(struct vgz *, void *, ssize_t len);
-int VGZ_ObufFull(const struct vgz *vg);
-enum vgzret_e VGZ_Gzip(struct vgz *, const void **, ssize_t *len,
-    enum vgz_flag);
-// enum vgzret_e VGZ_Gunzip(struct vgz *, const void **, ssize_t *len);
-enum vgzret_e VGZ_Destroy(struct vgz **);
-
-enum vgz_ua_e {
-	VUA_UPDATE,		// Update start/stop/last bits if changed
-	VUA_END_GZIP,		// Record uncompressed size
-	VUA_END_GUNZIP,		// Record uncompressed size
-};
-
-void VGZ_UpdateObj(const struct vfp_ctx *, struct vgz*, enum vgz_ua_e);
-
 /* cache_http.c */
 unsigned HTTP_estimate(unsigned nhttp);
 void HTTP_Copy(struct http *to, const struct http * const fm);
diff --git a/bin/varnishd/cache/cache_esi_deliver.c b/bin/varnishd/cache/cache_esi_deliver.c
index 46a5d7d..d5fd97a 100644
--- a/bin/varnishd/cache/cache_esi_deliver.c
+++ b/bin/varnishd/cache/cache_esi_deliver.c
@@ -36,6 +36,7 @@
 
 #include "cache_transport.h"
 #include "cache_filter.h"
+#include "cache_vgz.h"
 
 #include "vtim.h"
 #include "cache_esi.h"
diff --git a/bin/varnishd/cache/cache_esi_fetch.c b/bin/varnishd/cache/cache_esi_fetch.c
index ac95a1e..a548d60 100644
--- a/bin/varnishd/cache/cache_esi_fetch.c
+++ b/bin/varnishd/cache/cache_esi_fetch.c
@@ -35,6 +35,7 @@
 
 #include "cache.h"
 #include "cache_filter.h"
+#include "cache_vgz.h"
 
 #include "cache_esi.h"
 
diff --git a/bin/varnishd/cache/cache_esi_parse.c b/bin/varnishd/cache/cache_esi_parse.c
index 38ec348..6866767 100644
--- a/bin/varnishd/cache/cache_esi_parse.c
+++ b/bin/varnishd/cache/cache_esi_parse.c
@@ -32,6 +32,7 @@
 
 #include "cache.h"
 
+#include "cache_vgz.h"
 #include "cache_esi.h"
 #include "vct.h"
 #include "vend.h"
diff --git a/bin/varnishd/cache/cache_gzip.c b/bin/varnishd/cache/cache_gzip.c
index ae58708..4370866 100644
--- a/bin/varnishd/cache/cache_gzip.c
+++ b/bin/varnishd/cache/cache_gzip.c
@@ -42,6 +42,7 @@
 
 #include "cache.h"
 #include "cache_filter.h"
+#include "cache_vgz.h"
 #include "vend.h"
 
 #include "vgz.h"
diff --git a/bin/varnishd/cache/cache_vgz.h b/bin/varnishd/cache/cache_vgz.h
new file mode 100644
index 0000000..6f977c1
--- /dev/null
+++ b/bin/varnishd/cache/cache_vgz.h
@@ -0,0 +1,62 @@
+/*-
+ * Copyright (c) 2011-2015 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.
+ *
+ */
+
+#ifdef CACHE_VGZ_H_INCLUDED
+#  error "Multiple includes of cache/cache_vgz.h"
+#endif
+#define CACHE_VGZ_H_INCLUDED
+
+struct vgz;
+
+enum vgzret_e {
+	VGZ_ERROR = -1,
+	VGZ_OK = 0,
+	VGZ_END = 1,
+	VGZ_STUCK = 2,
+};
+
+enum vgz_flag { VGZ_NORMAL, VGZ_ALIGN, VGZ_RESET, VGZ_FINISH };
+// struct vgz *VGZ_NewUngzip(struct vsl_log *vsl, const char *id);
+struct vgz *VGZ_NewGzip(struct vsl_log *vsl, const char *id);
+void VGZ_Ibuf(struct vgz *, const void *, ssize_t len);
+int VGZ_IbufEmpty(const struct vgz *vg);
+void VGZ_Obuf(struct vgz *, void *, ssize_t len);
+int VGZ_ObufFull(const struct vgz *vg);
+enum vgzret_e VGZ_Gzip(struct vgz *, const void **, ssize_t *len,
+    enum vgz_flag);
+// enum vgzret_e VGZ_Gunzip(struct vgz *, const void **, ssize_t *len);
+enum vgzret_e VGZ_Destroy(struct vgz **);
+
+enum vgz_ua_e {
+	VUA_UPDATE,		// Update start/stop/last bits if changed
+	VUA_END_GZIP,		// Record uncompressed size
+	VUA_END_GUNZIP,		// Record uncompressed size
+};
+
+void VGZ_UpdateObj(const struct vfp_ctx *, struct vgz*, enum vgz_ua_e);


More information about the varnish-commit mailing list