diff usr/src/cmd/fs.d/cachefs/common/subr.h @ 0:c9caec207d52 b86

Initial porting based on b86
author Koji Uno <koji.uno@sun.com>
date Tue, 02 Jun 2009 18:56:50 +0900
parents
children 1a15d5aaf794
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/fs.d/cachefs/common/subr.h	Tue Jun 02 18:56:50 2009 +0900
@@ -0,0 +1,97 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License").  You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright (c) 1996-1998, by Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+#ifndef	_SUBR_H
+#define	_SUBR_H
+
+#pragma ident	"@(#)subr.h	1.16	05/06/08 SMI"
+
+/*
+ *
+ *			subr.h
+ *
+ * Function prototypes for subr.c
+ */
+
+#include <ftw.h>
+
+/* size to make a buffer for holding a pathname */
+#define	CACHEFS_XMAXPATH (PATH_MAX + MAXNAMELEN + 2)
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* resource file info */
+struct cachefs_rinfo {
+	int	r_fsize;	/* total file size */
+	int	r_ptroffset;	/* offset to pointers area */
+	int	r_ptrsize;	/* size of pointers area */
+	int	r_identoffset;	/* offset to idents area */
+	int	r_identsize;	/* size of idents area */
+};
+
+struct cachefs_user_values {
+	int uv_maxblocks;
+	int uv_minblocks;
+	int uv_threshblocks;
+	int uv_maxfiles;
+	int uv_minfiles;
+	int uv_threshfiles;
+	int uv_maxfilesize;
+	int uv_hiblocks;
+	int uv_lowblocks;
+	int uv_hifiles;
+	int uv_lowfiles;
+};
+
+int cachefs_dir_lock(const char *cachedirp, int shared);
+int cachefs_dir_unlock(int fd);
+int cachefs_label_file_get(const char *filep, struct cache_label *clabelp);
+int cachefs_label_file_put(const char *filep, struct cache_label *clabelp);
+int cachefs_inuse(const char *cachedirp);
+int cachefs_label_file_vcheck(char *filep, struct cache_label *clabelp);
+void cachefs_resource_size(int maxinodes, struct cachefs_rinfo *rinfop);
+int cachefs_create_cache(char *dirp, struct cachefs_user_values *,
+    struct cache_label *);
+int cachefs_delete_all_cache(char *dirp);
+int cachefs_delete_cache(char *dirp, char *namep);
+int cachefs_delete_file(const char *namep, const struct stat64 *statp, int flg,
+    struct FTW *ftwp);
+int cachefs_convert_uv2cl(const struct cachefs_user_values *uvp,
+    struct cache_label *clp, const char *dirp);
+int cachefs_convert_cl2uv(const struct cache_label *clp,
+    struct cachefs_user_values *uvp, const char *dirp);
+char *cachefs_file_to_dir(const char *);
+int cachefs_clean_flag_test(const char *cachedirp);
+void pr_err(char *fmt, ...);
+time32_t get_boottime(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SUBR_H */