nfs-ganesha 1.4

pnfs_internal.h

Go to the documentation of this file.
00001 /*
00002  *
00003  *
00004  * Copyright CEA/DAM/DIF  (2008)
00005  * contributeur : Philippe DENIEL   philippe.deniel@cea.fr
00006  *                Thomas LEIBOVICI  thomas.leibovici@cea.fr
00007  *
00008  *
00009  * This program is free software; you can redistribute it and/or
00010  * modify it under the terms of the GNU Lesser General Public
00011  * License as published by the Free Software Foundation; either
00012  * version 3 of the License, or (at your option) any later version.
00013  * 
00014  * This program is distributed in the hope that it will be useful,
00015  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017  * Lesser General Public License for more details.
00018  * 
00019  * You should have received a copy of the GNU Lesser General Public
00020  * License along with this library; if not, write to the Free Software
00021  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00022  * 
00023  * ---------------------------------------
00024  */
00025 
00037 #ifndef _PNFS_PARALLEL_FS_INTERNAL_H
00038 #define _PNFS_PARALLEL_FS_INTERNAL_H
00039 
00040 #ifdef HAVE_CONFIG_H
00041 #include "config.h"
00042 #endif
00043 
00044 #define MAX_PNFS_DS 2
00045 
00046 typedef struct pnfs_ds_parameter__
00047 {
00048   unsigned int ipaddr;
00049   unsigned short ipport;
00050   unsigned int prognum;
00051   char rootpath[MAXPATHLEN];
00052   char ipaddr_ascii[MAXNAMLEN];
00053   unsigned int id;
00054   bool_t is_ganesha;
00055 } pnfs_ds_parameter_t;
00056 
00057 typedef struct pnfs_layoutfile_parameter__
00058 {
00059   unsigned int stripe_size;
00060   unsigned int stripe_width;
00061   pnfs_ds_parameter_t ds_param[MAX_PNFS_DS];
00062 } pnfs_parameter_t;
00063 
00064 nfsstat4 PARALLEL_FS_pnfs_getdevicelist( GETDEVICELIST4args * pargs, 
00065                                          compound_data_t * data,
00066                                          GETDEVICELIST4res  * pres ) ;
00067 
00068 nfsstat4 PARALLEL_FS_pnfs_getdeviceinfo( GETDEVICEINFO4args * pargs, 
00069                                          compound_data_t * data,
00070                                          GETDEVICEINFO4res  * pres ) ;
00071 
00072 nfsstat4 PARALLEL_FS_pnfs_layoutcommit( LAYOUTCOMMIT4args * pargs, 
00073                                         compound_data_t * data,
00074                                         LAYOUTCOMMIT4res  * pres ) ;
00075 
00076 nfsstat4 PARALLEL_FS_pnfs_layoutget( LAYOUTGET4args   * pargs, 
00077                                      compound_data_t  * data,
00078                                      LAYOUTGET4res    * pres ) ;
00079 
00080 nfsstat4 PARALLEL_FS_pnfs_layoutreturn( LAYOUTRETURN4args * pargs, 
00081                                         compound_data_t   * data,
00082                                         LAYOUTRETURN4res  * pres ) ; 
00083 
00084 #endif  /*  _PNFS_PARALLEL_FS_INTERNAL_H  */