Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /* -*- mode: c; c-basic-offset: 8; -*-
  2  * vim: noexpandtab sw=8 ts=8 sts=0:
  3  *
  4  * file.h
  5  *
  6  * Function prototypes
  7  *
  8  * Copyright (C) 2002, 2004 Oracle.  All rights reserved.
  9  *
 10  * This program is free software; you can redistribute it and/or
 11  * modify it under the terms of the GNU General Public
 12  * License as published by the Free Software Foundation; either
 13  * version 2 of the License, or (at your option) any later version.
 14  *
 15  * This program is distributed in the hope that it will be useful,
 16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 18  * General Public License for more details.
 19  *
 20  * You should have received a copy of the GNU General Public
 21  * License along with this program; if not, write to the
 22  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 23  * Boston, MA 021110-1307, USA.
 24  */
 25 
 26 #ifndef OCFS2_FILE_H
 27 #define OCFS2_FILE_H
 28 
 29 extern const struct file_operations ocfs2_fops;
 30 extern const struct file_operations ocfs2_dops;
 31 extern const struct inode_operations ocfs2_file_iops;
 32 extern const struct inode_operations ocfs2_special_file_iops;
 33 struct ocfs2_alloc_context;
 34 
 35 struct ocfs2_file_private {
 36         struct file             *fp_file;
 37         struct mutex            fp_mutex;
 38         struct ocfs2_lock_res   fp_flock;
 39 };
 40 
 41 enum ocfs2_alloc_restarted {
 42         RESTART_NONE = 0,
 43         RESTART_TRANS,
 44         RESTART_META
 45 };
 46 int ocfs2_do_extend_allocation(struct ocfs2_super *osb,
 47                                struct inode *inode,
 48                                u32 *logical_offset,
 49                                u32 clusters_to_add,
 50                                int mark_unwritten,
 51                                struct buffer_head *fe_bh,
 52                                handle_t *handle,
 53                                struct ocfs2_alloc_context *data_ac,
 54                                struct ocfs2_alloc_context *meta_ac,
 55                                enum ocfs2_alloc_restarted *reason_ret);
 56 int ocfs2_extend_no_holes(struct inode *inode, u64 new_i_size,
 57                           u64 zero_to);
 58 int ocfs2_lock_allocators(struct inode *inode, struct ocfs2_dinode *di,
 59                           u32 clusters_to_add, u32 extents_to_split,
 60                           struct ocfs2_alloc_context **data_ac,
 61                           struct ocfs2_alloc_context **meta_ac);
 62 int ocfs2_setattr(struct dentry *dentry, struct iattr *attr);
 63 int ocfs2_getattr(struct vfsmount *mnt, struct dentry *dentry,
 64                   struct kstat *stat);
 65 int ocfs2_permission(struct inode *inode, int mask,
 66                      struct nameidata *nd);
 67 
 68 int ocfs2_should_update_atime(struct inode *inode,
 69                               struct vfsmount *vfsmnt);
 70 int ocfs2_update_inode_atime(struct inode *inode,
 71                              struct buffer_head *bh);
 72 
 73 int ocfs2_change_file_space(struct file *file, unsigned int cmd,
 74                             struct ocfs2_space_resv *sr);
 75 
 76 #endif /* OCFS2_FILE_H */
 77 
  This page was automatically generated by the LXR engine.