summaryrefslogtreecommitdiff
path: root/filter.h
diff options
context:
space:
mode:
Diffstat (limited to 'filter.h')
-rw-r--r--filter.h364
1 files changed, 114 insertions, 250 deletions
diff --git a/filter.h b/filter.h
index 6dc9a69dc..6be032246 100644
--- a/filter.h
+++ b/filter.h
@@ -1,10 +1,10 @@
-/*----------------------------------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
/*filter.h*/
-/*----------------------------------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
/*The definitions for the filtering translator*/
-/*----------------------------------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
/*Based on the code of unionfs translator.*/
-/*----------------------------------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
/*Copyright (C) 2001, 2002, 2005, 2008 Free Software Foundation, Inc.
Written by Sergiu Ivanov <unlimitedscolobb@gmail.com>.
@@ -22,10 +22,10 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
USA.*/
-/*----------------------------------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
#ifndef __FILTER_H__
#define __FILTER_H__
-/*----------------------------------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
#include <stddef.h>
#include <stdlib.h>
#include <cthreads.h>
@@ -37,312 +37,176 @@
#include <sys/time.h>
#include <hurd/ihash.h>
#include <hurd/iohelp.h>
-/*----------------------------------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
#include "node.h"
-/*----------------------------------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
-/*----------------------------------------------------------------------------*/
-/*--------Macros--------------------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
+/*--------Macros-------------------------------------------------------------*/
/*The inode for the root node*/
#define FILTER_ROOT_INODE 1
-/*----------------------------------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
-/*----------------------------------------------------------------------------*/
-/*--------Global Variables----------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
+/*--------Global Variables---------------------------------------------------*/
/*A mapped time value*/
/*Required for a very fast access to time*/
-extern volatile struct mapped_time_value * maptime;
-/*----------------------------------------------------------------------------*/
+extern volatile struct mapped_time_value *maptime;
+/*---------------------------------------------------------------------------*/
/*A port to the underlying node*/
extern mach_port_t underlying_node;
-/*----------------------------------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
/*The stat information about the underlying node*/
extern io_statbuf_t underlying_node_stat;
-/*----------------------------------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
-/*----------------------------------------------------------------------------*/
-/*--------Functions-----------------------------------------------------------*/
+/*---------------------------------------------------------------------------*/
+/*--------Functions----------------------------------------------------------*/
/*Attempts to create a file named `name` in `dir` for `user` with mode `mode`*/
error_t
-netfs_attempt_create_file
- (
- struct iouser * user,
- struct node * dir,
- char * name,
- mode_t mode,
- struct node ** node
- );
-/*----------------------------------------------------------------------------*/
-/*Returns an error if the process of opening a file should not be allowed
- to complete because of insufficient permissions*/
+ netfs_attempt_create_file
+ (struct iouser *user,
+ struct node *dir, char *name, mode_t mode, struct node **node);
+/*---------------------------------------------------------------------------*/
+/*Returns an error if the process of opening a file should not be
+ allowed to complete because of insufficient permissions*/
error_t
-netfs_check_open_permissions
- (
- struct iouser * user,
- struct node * np,
- int flags,
- int newnode
- );
-/*----------------------------------------------------------------------------*/
+ netfs_check_open_permissions
+ (struct iouser *user, struct node *np, int flags, int newnode);
+/*---------------------------------------------------------------------------*/
/*Attempts an utimes call for the user `cred` on node `node`*/
error_t
-netfs_attempt_utimes
- (
- struct iouser * cred,
- struct node * node,
- struct timespec * atime,
- struct timespec * mtime
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_utimes
+ (struct iouser *cred,
+ struct node *node, struct timespec *atime, struct timespec *mtime);
+/*---------------------------------------------------------------------------*/
/*Returns the valid access types for file `node` and user `cred`*/
error_t
-netfs_report_access
- (
- struct iouser * cred,
- struct node * np,
- int * types
- );
-/*----------------------------------------------------------------------------*/
+ netfs_report_access (struct iouser *cred, struct node *np, int *types);
+/*---------------------------------------------------------------------------*/
/*Validates the stat data for the node*/
-error_t
-netfs_validate_stat
- (
- struct node * np,
- struct iouser * cred
- );
-/*----------------------------------------------------------------------------*/
+error_t netfs_validate_stat (struct node *np, struct iouser *cred);
+/*---------------------------------------------------------------------------*/
/*Syncs `node` completely to disk*/
-error_t
-netfs_attempt_sync
- (
- struct iouser * cred,
- struct node * node,
- int wait
- );
-/*----------------------------------------------------------------------------*/
+error_t netfs_attempt_sync (struct iouser *cred, struct node *node, int wait);
+/*---------------------------------------------------------------------------*/
/*Fetches a directory*/
error_t
-netfs_get_dirents
- (
- struct iouser * cred,
- struct node * dir,
- int first_entry,
- int num_entries,
- char ** data,
- mach_msg_type_number_t * data_len,
- vm_size_t max_data_len,
- int * data_entries
- );
-/*----------------------------------------------------------------------------*/
+ netfs_get_dirents
+ (struct iouser *cred,
+ struct node *dir,
+ int first_entry,
+ int num_entries,
+ char **data,
+ mach_msg_type_number_t * data_len,
+ vm_size_t max_data_len, int *data_entries);
+/*---------------------------------------------------------------------------*/
/*Looks up `name` under `dir` for `user`*/
error_t
-netfs_attempt_lookup
- (
- struct iouser * user,
- struct node * dir,
- char * name,
- struct node ** node
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_lookup
+ (struct iouser *user, struct node *dir, char *name, struct node **node);
+/*---------------------------------------------------------------------------*/
/*Deletes `name` in `dir` for `user`*/
error_t
-netfs_attempt_unlink
- (
- struct iouser * user,
- struct node * dir,
- char * name
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_unlink (struct iouser *user, struct node *dir, char *name);
+/*---------------------------------------------------------------------------*/
/*Attempts to rename `fromdir`/`fromname` to `todir`/`toname`*/
error_t
-netfs_attempt_rename
- (
- struct iouser * user,
- struct node * fromdir,
- char * fromname,
- struct node * todir,
- char * toname,
- int excl
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_rename
+ (struct iouser *user,
+ struct node *fromdir,
+ char *fromname, struct node *todir, char *toname, int excl);
+/*---------------------------------------------------------------------------*/
/*Attempts to create a new directory*/
error_t
-netfs_attempt_mkdir
- (
- struct iouser * user,
- struct node * dir,
- char * name,
- mode_t mode
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_mkdir
+ (struct iouser *user, struct node *dir, char *name, mode_t mode);
+/*---------------------------------------------------------------------------*/
/*Attempts to remove directory `name` in `dir` for `user`*/
error_t
-netfs_attempt_rmdir
- (
- struct iouser * user,
- struct node * dir,
- char * name
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_rmdir (struct iouser *user, struct node *dir, char *name);
+/*---------------------------------------------------------------------------*/
/*Attempts to change the owner of `node` for user `cred` to `uid`:`gid`*/
error_t
-netfs_attempt_chown
- (
- struct iouser * cred,
- struct node * node,
- uid_t uid,
- uid_t gid
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_chown
+ (struct iouser *cred, struct node *node, uid_t uid, uid_t gid);
+/*---------------------------------------------------------------------------*/
/*Attempts to change the author of `node` to `author`*/
error_t
-netfs_attempt_chauthor
- (
- struct iouser * cred,
- struct node * node,
- uid_t author
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_chauthor
+ (struct iouser *cred, struct node *node, uid_t author);
+/*---------------------------------------------------------------------------*/
/*Attempts to change the mode of `node` to `mode` for `cred`*/
error_t
-netfs_attempt_chmod
- (
- struct iouser * user,
- struct node * node,
- mode_t mode
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_chmod (struct iouser *user, struct node *node, mode_t mode);
+/*---------------------------------------------------------------------------*/
/*Attempts to turn `node` into a symlink targetting `name`*/
error_t
-netfs_attempt_mksymlink
- (
- struct iouser * cred,
- struct node * node,
- char * name
- );
-/*----------------------------------------------------------------------------*/
-/*Attempts to turn `node` into a device; type can be either S_IFBLK or S_IFCHR*/
+ netfs_attempt_mksymlink
+ (struct iouser *cred, struct node *node, char *name);
+/*---------------------------------------------------------------------------*/
+/*Attempts to turn `node` into a device; type can be either S_IFBLK or
+ S_IFCHR*/
error_t
-netfs_attempt_mkdev
- (
- struct iouser * cred,
- struct node * node,
- mode_t type,
- dev_t indexes
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_mkdev
+ (struct iouser *cred, struct node *node, mode_t type, dev_t indexes);
+/*---------------------------------------------------------------------------*/
/*Attempts to set the passive translator record for `file` passing `argz`*/
error_t
-netfs_set_translator
- (
- struct iouser * cred,
- struct node * node,
- char * argz,
- size_t arglen
- );
-/*----------------------------------------------------------------------------*/
+ netfs_set_translator
+ (struct iouser *cred, struct node *node, char *argz, size_t arglen);
+/*---------------------------------------------------------------------------*/
/*Attempts to call chflags for `node`*/
error_t
-netfs_attempt_chflags
- (
- struct iouser * cred,
- struct node * node,
- int flags
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_chflags (struct iouser *cred, struct node *node, int flags);
+/*---------------------------------------------------------------------------*/
/*Attempts to set the size of file `node`*/
error_t
-netfs_attempt_set_size
- (
- struct iouser * cred,
- struct node * node,
- loff_t size
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_set_size
+ (struct iouser *cred, struct node *node, loff_t size);
+/*---------------------------------------------------------------------------*/
/*Fetches the filesystem status information*/
error_t
-netfs_attempt_statfs
- (
- struct iouser * cred,
- struct node * node,
- fsys_statfsbuf_t * st
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_statfs
+ (struct iouser *cred, struct node *node, fsys_statfsbuf_t * st);
+/*---------------------------------------------------------------------------*/
/*Syncs the filesystem*/
-error_t
-netfs_attempt_syncfs
- (
- struct iouser * cred,
- int wait
- );
-/*----------------------------------------------------------------------------*/
+error_t netfs_attempt_syncfs (struct iouser *cred, int wait);
+/*---------------------------------------------------------------------------*/
/*Creates a link in `dir` with `name` to `file`*/
error_t
-netfs_attempt_link
- (
- struct iouser * user,
- struct node * dir,
- struct node * file,
- char * name,
- int excl
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_link
+ (struct iouser *user,
+ struct node *dir, struct node *file, char *name, int excl);
+/*---------------------------------------------------------------------------*/
/*Attempts to create an anonymous file related to `dir` with `mode`*/
error_t
-netfs_attempt_mkfile
- (
- struct iouser * user,
- struct node * dir,
- mode_t mode,
- struct node ** node
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_mkfile
+ (struct iouser *user, struct node *dir, mode_t mode, struct node **node);
+/*---------------------------------------------------------------------------*/
/*Reads the contents of symlink `node` into `buf`*/
error_t
-netfs_attempt_readlink
- (
- struct iouser * user,
- struct node * node,
- char * buf
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_readlink (struct iouser *user, struct node *node, char *buf);
+/*---------------------------------------------------------------------------*/
/*Reads from file `node` up to `len` bytes from `offset` into `data`*/
error_t
-netfs_attempt_read
- (
- struct iouser * cred,
- struct node * np,
- loff_t offset,
- size_t * len,
- void * data
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_read
+ (struct iouser *cred,
+ struct node *np, loff_t offset, size_t * len, void *data);
+/*---------------------------------------------------------------------------*/
/*Writes to file `node` up to `len` bytes from offset from `data`*/
error_t
-netfs_attempt_write
- (
- struct iouser * cred,
- struct node * node,
- loff_t offset,
- size_t * len,
- void * data
- );
-/*----------------------------------------------------------------------------*/
+ netfs_attempt_write
+ (struct iouser *cred,
+ struct node *node, loff_t offset, size_t * len, void *data);
+/*---------------------------------------------------------------------------*/
/*Frees all storage associated with the node*/
-void
-netfs_node_norefs
- (
- struct node * np
- );
-/*----------------------------------------------------------------------------*/
+void netfs_node_norefs (struct node *np);
+/*---------------------------------------------------------------------------*/
/*Implements file_get_translator_cntl as described in <hurd/fs.defs>
- (according to diskfs_S_file_get_translator_cntl)*/
+ (according to diskfs_S_file_get_translator_cntl)*/
kern_return_t
-netfs_S_file_get_translator_cntl
- (
- struct protid * user,
- mach_port_t * cntl,
- mach_msg_type_name_t * cntltype
- );
-/*----------------------------------------------------------------------------*/
+ netfs_S_file_get_translator_cntl
+ (struct protid *user, mach_port_t * cntl, mach_msg_type_name_t * cntltype);
+/*---------------------------------------------------------------------------*/
#endif /*__FILTER_H__*/