/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (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
* 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 2007 Sun Microsystems, Inc.
* All rights reserved. Use is subject to license terms.
*/
#ifndef _SYS_FS_TMP_H
#define _SYS_FS_TMP_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
/*
* tmpfs per-mount data structure.
*
* All fields are protected by tm_contents.
* File renames on a particular file system are protected tm_renamelck.
*/
struct tmount {
};
/*
* File system independent to tmpfs conversion macros
*/
/*
* enums
*/
/*
* tmpfs_minfree is the amount (in pages) of anonymous memory that tmpfs
* leaves free for the rest of the system. E.g. in a system with 32MB of
* configured swap space, if 16MB were reserved (leaving 16MB free),
* tmpfs could allocate up to 16MB - tmpfs_minfree. The default value
* for tmpfs_minfree is btopr(TMPMINFREE) but it can cautiously patched
* to a different number of pages.
* NB: If tmpfs allocates too much swap space, other processes will be
* unable to execute.
*/
/*
* tmpfs can allocate only a certain percentage of kernel memory,
* which is used for tmpnodes, directories, file names, etc.
* This is statically set as TMPMAXFRACKMEM of physical memory.
* The actual number of allocatable bytes can be patched in tmpfs_maxkmem.
*/
extern size_t tmp_kmemspace;
struct cred *);
extern void *tmp_memalloc(size_t, int);
extern void tmp_memfree(void *, size_t);
extern int tmp_taccess(void *, int, struct cred *);
struct cred *);
extern int tmp_convnum(char *, pgcnt_t *);
#ifdef __cplusplus
}
#endif
#endif /* _SYS_FS_TMP_H */