Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
autofs/include/mounts.h
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
125 lines (111 sloc)
4.46 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* ----------------------------------------------------------------------- * | |
* | |
* mounts.h - header file for mount utilities module. | |
* | |
* Copyright 2008 Red Hat, Inc. All rights reserved. | |
* Copyright 2004-2006 Ian Kent <raven@themaw.net> - All Rights Reserved. | |
* | |
* This program is free software; you can redistribute it and/or modify | |
* it under the terms of the GNU General Public License as published by | |
* the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139, | |
* USA; either version 2 of the License, or (at your option) any later | |
* version; incorporated herein by reference. | |
* | |
* ----------------------------------------------------------------------- */ | |
#ifndef MOUNTS_H | |
#define MOUNTS_H | |
#include <linux/version.h> | |
#include <sys/utsname.h> | |
#ifndef AUTOFS_TYPE_ANY | |
#define AUTOFS_TYPE_ANY 0x0000 | |
#endif | |
#ifndef AUTOFS_TYPE_INDIRECT | |
#define AUTOFS_TYPE_INDIRECT 0x0001 | |
#endif | |
#ifndef AUTOFS_TYPE_DIRECT | |
#define AUTOFS_TYPE_DIRECT 0x0002 | |
#endif | |
#ifndef AUTOFS_TYPE_OFFSET | |
#define AUTOFS_TYPE_OFFSET 0x0004 | |
#endif | |
#define MNTS_ALL 0x0001 | |
#define MNTS_REAL 0x0002 | |
#define MNTS_AUTOFS 0x0004 | |
#define REMOUNT_SUCCESS 0x0000 | |
#define REMOUNT_FAIL 0x0001 | |
#define REMOUNT_OPEN_FAIL 0x0002 | |
#define REMOUNT_STAT_FAIL 0x0004 | |
#define REMOUNT_READ_MAP 0x0008 | |
extern const unsigned int t_indirect; | |
extern const unsigned int t_direct; | |
extern const unsigned int t_offset; | |
struct mapent; | |
struct mnt_list { | |
char *path; | |
char *fs_name; | |
char *fs_type; | |
char *opts; | |
pid_t owner; | |
/* | |
* List operations ie. get_mnt_list. | |
*/ | |
struct mnt_list *next; | |
/* | |
* Tree operations ie. tree_make_tree, | |
* tree_get_mnt_list etc. | |
*/ | |
struct mnt_list *left; | |
struct mnt_list *right; | |
struct list_head self; | |
struct list_head list; | |
struct list_head entries; | |
struct list_head sublist; | |
}; | |
struct nfs_mount_vers { | |
unsigned int major; | |
unsigned int minor; | |
unsigned int fix; | |
}; | |
unsigned int linux_version_code(void); | |
int check_nfs_mount_version(struct nfs_mount_vers *, struct nfs_mount_vers *); | |
extern unsigned int nfs_mount_uses_string_options; | |
struct amd_entry; | |
struct substvar *addstdenv(struct substvar *sv, const char *prefix); | |
struct substvar *removestdenv(struct substvar *sv, const char *prefix); | |
void add_std_amd_vars(struct substvar *sv); | |
void remove_std_amd_vars(void); | |
struct amd_entry *new_amd_entry(const struct substvar *sv); | |
void clear_amd_entry(struct amd_entry *entry); | |
void free_amd_entry(struct amd_entry *entry); | |
void free_amd_entry_list(struct list_head *entries); | |
unsigned int query_kproto_ver(void); | |
unsigned int get_kver_major(void); | |
unsigned int get_kver_minor(void); | |
char *make_options_string(char *path, int kernel_pipefd, const char *extra); | |
char *make_mnt_name_string(char *path); | |
int ext_mount_add(struct list_head *, const char *, unsigned int); | |
int ext_mount_remove(struct list_head *, const char *); | |
struct mnt_list *get_mnt_list(const char *table, const char *path, int include); | |
struct mnt_list *reverse_mnt_list(struct mnt_list *list); | |
void free_mnt_list(struct mnt_list *list); | |
int is_mounted(const char *table, const char *path, unsigned int type); | |
int has_fstab_option(const char *opt); | |
void tree_free_mnt_tree(struct mnt_list *tree); | |
struct mnt_list *tree_make_mnt_tree(const char *table, const char *path); | |
int tree_get_mnt_list(struct mnt_list *mnts, struct list_head *list, const char *path, int include); | |
int tree_get_mnt_sublist(struct mnt_list *mnts, struct list_head *list, const char *path, int include); | |
int tree_find_mnt_ents(struct mnt_list *mnts, struct list_head *list, const char *path); | |
int tree_is_mounted(struct mnt_list *mnts, const char *path, unsigned int type); | |
void set_tsd_user_vars(unsigned int, uid_t, gid_t); | |
const char *mount_type_str(unsigned int); | |
void set_exp_timeout(struct autofs_point *ap, struct map_source *source, time_t timeout); | |
time_t get_exp_timeout(struct autofs_point *ap, struct map_source *source); | |
void notify_mount_result(struct autofs_point *, const char *, time_t, const char *); | |
int try_remount(struct autofs_point *, struct mapent *, unsigned int); | |
void set_indirect_mount_tree_catatonic(struct autofs_point *); | |
void set_direct_mount_tree_catatonic(struct autofs_point *, struct mapent *); | |
int umount_ent(struct autofs_point *, const char *); | |
int mount_multi_triggers(struct autofs_point *, struct mapent *, const char *, unsigned int, const char *); | |
int umount_multi_triggers(struct autofs_point *, struct mapent *, char *, const char *); | |
int clean_stale_multi_triggers(struct autofs_point *, struct mapent *, char *, const char *); | |
#endif |