2005-04-16 15:20:36 -07:00
/*
2005-11-02 14:58:39 +11:00
* Copyright ( c ) 2003 - 2005 Silicon Graphics , Inc .
* All Rights Reserved .
2005-04-16 15:20:36 -07:00
*
2005-11-02 14:58:39 +11:00
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License as
2005-04-16 15:20:36 -07:00
* published by the Free Software Foundation .
*
2005-11-02 14:58:39 +11:00
* This program is distributed in the hope that it would be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
2005-04-16 15:20:36 -07:00
*
2005-11-02 14:58:39 +11:00
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write the Free Software Foundation ,
* Inc . , 51 Franklin St , Fifth Floor , Boston , MA 02110 - 1301 USA
2005-04-16 15:20:36 -07:00
*/
# ifndef __XFS_IOMAP_H__
# define __XFS_IOMAP_H__
2010-06-24 11:49:12 +10:00
/* base extent manipulation calls */
# define BMAPI_READ (1 << 0) /* read extents */
# define BMAPI_WRITE (1 << 1) /* create extents */
# define BMAPI_ALLOCATE (1 << 2) /* delayed allocate to real extents */
/* modifiers */
# define BMAPI_IGNSTATE (1 << 4) /* ignore unwritten state on read */
# define BMAPI_DIRECT (1 << 5) /* direct instead of buffered write */
# define BMAPI_MMA (1 << 6) /* allocate for mmap write */
# define BMAPI_TRYLOCK (1 << 7) /* non-blocking request */
2005-04-16 15:20:36 -07:00
2009-12-14 23:14:59 +00:00
# define BMAPI_FLAGS \
{ BMAPI_READ , " READ " } , \
{ BMAPI_WRITE , " WRITE " } , \
{ BMAPI_ALLOCATE , " ALLOCATE " } , \
{ BMAPI_IGNSTATE , " IGNSTATE " } , \
{ BMAPI_DIRECT , " DIRECT " } , \
{ BMAPI_TRYLOCK , " TRYLOCK " }
2005-04-16 15:20:36 -07:00
struct xfs_inode ;
struct xfs_bmbt_irec ;
2007-10-11 17:34:33 +10:00
extern int xfs_iomap ( struct xfs_inode * , xfs_off_t , ssize_t , int ,
2010-04-28 12:28:56 +00:00
struct xfs_bmbt_irec * , int * , int * ) ;
2005-05-05 13:33:40 -07:00
extern int xfs_iomap_write_unwritten ( struct xfs_inode * , xfs_off_t , size_t ) ;
2005-04-16 15:20:36 -07:00
# endif /* __XFS_IOMAP_H__*/