blob: fa487d4cc08b9c1e9585624c38d2cf30ff75e049 [file] [log] [blame]
Michael Holzheu24bbb1f2006-06-23 02:05:06 -07001/*
Michael Holzheuf19bfb22006-09-20 15:58:44 +02002 * arch/s390/hypfs/hypfs.h
Michael Holzheu24bbb1f2006-06-23 02:05:06 -07003 * Hypervisor filesystem for Linux on s390.
4 *
5 * Copyright (C) IBM Corp. 2006
6 * Author(s): Michael Holzheu <holzheu@de.ibm.com>
7 */
8
9#ifndef _HYPFS_H_
10#define _HYPFS_H_
11
12#include <linux/fs.h>
13#include <linux/types.h>
Michael Holzheu57b28f62010-05-17 10:00:20 +020014#include <linux/debugfs.h>
Michael Holzheu24bbb1f2006-06-23 02:05:06 -070015
16#define REG_FILE_MODE 0440
17#define UPDATE_FILE_MODE 0220
18#define DIR_MODE 0550
19
20extern struct dentry *hypfs_mkdir(struct super_block *sb, struct dentry *parent,
21 const char *name);
22
23extern struct dentry *hypfs_create_u64(struct super_block *sb,
24 struct dentry *dir, const char *name,
25 __u64 value);
26
27extern struct dentry *hypfs_create_str(struct super_block *sb,
28 struct dentry *dir, const char *name,
29 char *string);
30
Michael Holzheu31cb4bd2007-02-05 21:18:29 +010031/* LPAR Hypervisor */
32extern int hypfs_diag_init(void);
33extern void hypfs_diag_exit(void);
34extern int hypfs_diag_create_files(struct super_block *sb, struct dentry *root);
35
36/* VM Hypervisor */
37extern int hypfs_vm_init(void);
Michael Holzheu57b28f62010-05-17 10:00:20 +020038extern void hypfs_vm_exit(void);
Michael Holzheu31cb4bd2007-02-05 21:18:29 +010039extern int hypfs_vm_create_files(struct super_block *sb, struct dentry *root);
40
Michael Holzheu57b28f62010-05-17 10:00:20 +020041/* Directory for debugfs files */
42extern struct dentry *hypfs_dbfs_dir;
Michael Holzheu24bbb1f2006-06-23 02:05:06 -070043#endif /* _HYPFS_H_ */