| nfs-ganesha 1.4 | 
#include "fsal.h"#include "fsal_internal.h"#include "fsal_convert.h"#include <string.h>#include <time.h>#include <ctype.h>#include <sys/types.h>#include <attr/xattr.h>Go to the source code of this file.
| Classes | |
| struct | fsal_xattr_def__ | 
| Defines | |
| #define | XATTR_FOR_FILE 0x00000001 | 
| #define | XATTR_FOR_DIR 0x00000002 | 
| #define | XATTR_FOR_SYMLINK 0x00000004 | 
| #define | XATTR_FOR_ALL 0x0000000F | 
| #define | XATTR_RO 0x00000100 | 
| #define | XATTR_RW 0x00000200 | 
| #define | XATTR_COUNT 1 | 
| Typedefs | |
| typedef int(* | xattr_getfunc_t )(vfsfsal_handle_t *, vfsfsal_op_context_t *, caddr_t, size_t, size_t *, void *arg) | 
| typedef int(* | xattr_setfunc_t )(vfsfsal_handle_t *, vfsfsal_op_context_t *, caddr_t, size_t, int, void *arg) | 
| typedef struct fsal_xattr_def__ | fsal_xattr_def_t | 
| Functions | |
| int | print_vfshandle (vfsfsal_handle_t *p_objecthandle, vfsfsal_op_context_t *print_vfshandlep_context, caddr_t buffer_addr, size_t buffer_size, size_t *p_output_size, void *arg) | 
| fsal_status_t | VFSFSAL_GetXAttrAttrs (fsal_handle_t *p_objecthandle, fsal_op_context_t *p_context, unsigned int xattr_id, fsal_attrib_list_t *p_attrs) | 
| fsal_status_t | VFSFSAL_ListXAttrs (fsal_handle_t *p_objecthandle, unsigned int argcookie, fsal_op_context_t *p_context, fsal_xattrent_t *xattrs_tab, unsigned int xattrs_tabsize, unsigned int *p_nb_returned, int *end_of_list) | 
| fsal_status_t | VFSFSAL_GetXAttrValueById (fsal_handle_t *p_objecthandle, unsigned int xattr_id, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size, size_t *p_output_size) | 
| fsal_status_t | VFSFSAL_GetXAttrIdByName (fsal_handle_t *p_objecthandle, const fsal_name_t *xattr_name, fsal_op_context_t *p_context, unsigned int *pxattr_id) | 
| fsal_status_t | VFSFSAL_GetXAttrValueByName (fsal_handle_t *p_objecthandle, const fsal_name_t *xattr_name, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size, size_t *p_output_size) | 
| fsal_status_t | VFSFSAL_SetXAttrValue (fsal_handle_t *p_objecthandle, const fsal_name_t *xattr_name, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size, int create) | 
| fsal_status_t | VFSFSAL_SetXAttrValueById (fsal_handle_t *p_objecthandle, unsigned int xattr_id, fsal_op_context_t *p_context, caddr_t buffer_addr, size_t buffer_size) | 
| fsal_status_t | VFSFSAL_RemoveXAttrById (fsal_handle_t *p_objecthandle, fsal_op_context_t *p_context, unsigned int xattr_id) | 
| fsal_status_t | VFSFSAL_RemoveXAttrByName (fsal_handle_t *p_objecthandle, fsal_op_context_t *p_context, const fsal_name_t *xattr_name) | 
| int | VFSFSAL_GetXattrOffsetSetable (void) | 
| #define XATTR_COUNT 1 | 
Definition at line 81 of file FSAL_VFS/fsal_xattrs.c.
| #define XATTR_FOR_ALL 0x0000000F | 
Definition at line 30 of file FSAL_VFS/fsal_xattrs.c.
| #define XATTR_FOR_DIR 0x00000002 | 
Definition at line 28 of file FSAL_VFS/fsal_xattrs.c.
| #define XATTR_FOR_FILE 0x00000001 | 
Definition at line 27 of file FSAL_VFS/fsal_xattrs.c.
| #define XATTR_FOR_SYMLINK 0x00000004 | 
Definition at line 29 of file FSAL_VFS/fsal_xattrs.c.
| #define XATTR_RO 0x00000100 | 
Definition at line 31 of file FSAL_VFS/fsal_xattrs.c.
| #define XATTR_RW 0x00000200 | 
Definition at line 32 of file FSAL_VFS/fsal_xattrs.c.
| typedef struct fsal_xattr_def__ fsal_xattr_def_t | 
| typedef int(* xattr_getfunc_t)(vfsfsal_handle_t *,vfsfsal_op_context_t *,caddr_t,size_t,size_t *,void *arg) | 
Definition at line 36 of file FSAL_VFS/fsal_xattrs.c.
| typedef int(* xattr_setfunc_t)(vfsfsal_handle_t *,vfsfsal_op_context_t *,caddr_t,size_t,int,void *arg) | 
Definition at line 43 of file FSAL_VFS/fsal_xattrs.c.
| int print_vfshandle | ( | vfsfsal_handle_t * | p_objecthandle, | 
| vfsfsal_op_context_t * | print_vfshandlep_context, | ||
| caddr_t | buffer_addr, | ||
| size_t | buffer_size, | ||
| size_t * | p_output_size, | ||
| void * | arg | ||
| ) | 
Definition at line 63 of file FSAL_VFS/fsal_xattrs.c.
| fsal_status_t VFSFSAL_GetXAttrAttrs | ( | fsal_handle_t * | p_objecthandle, | 
| fsal_op_context_t * | p_context, | ||
| unsigned int | xattr_id, | ||
| fsal_attrib_list_t * | p_attrs | ||
| ) | 
Get the attributes of an extended attribute from its index.
| p_objecthandle | Handle of the object you want to get attribute for. | 
| p_context | pointer to the current security context. | 
| xattr_cookie | xattr's cookie (as returned by listxattrs). | 
| p_attrs | xattr's attributes. | 
| p_attrs | IN/OUT xattr attributes (if supported) | 
Definition at line 258 of file FSAL_VFS/fsal_xattrs.c.
| fsal_status_t VFSFSAL_GetXAttrIdByName | ( | fsal_handle_t * | p_objecthandle, | 
| const fsal_name_t * | xattr_name, | ||
| fsal_op_context_t * | p_context, | ||
| unsigned int * | pxattr_id | ||
| ) | 
* Get the index of an xattr based on its name *
| p_objecthandle | Handle of the object you want to get attribute for. | 
| xattr_name | the name of the attribute to be read. | 
| pxattr_id | found xattr_id | 
Definition at line 710 of file FSAL_VFS/fsal_xattrs.c.
| int VFSFSAL_GetXattrOffsetSetable | ( | void | ) | 
Definition at line 1007 of file FSAL_VFS/fsal_xattrs.c.
| fsal_status_t VFSFSAL_GetXAttrValueById | ( | fsal_handle_t * | p_objecthandle, | 
| unsigned int | xattr_id, | ||
| fsal_op_context_t * | p_context, | ||
| caddr_t | buffer_addr, | ||
| size_t | buffer_size, | ||
| size_t * | p_output_size | ||
| ) | 
Get the value of an extended attribute from its index.
| p_objecthandle | Handle of the object you want to get attribute for. | 
| xattr_name | the name of the attribute to be read. | 
| p_context | pointer to the current security context. | 
| buffer_addr | address of the buffer where the xattr value is to be stored. | 
| buffer_size | size of the buffer where the xattr value is to be stored. | 
| p_output_size | size of the data actually stored into the buffer. | 
Definition at line 624 of file FSAL_VFS/fsal_xattrs.c.
| fsal_status_t VFSFSAL_GetXAttrValueByName | ( | fsal_handle_t * | p_objecthandle, | 
| const fsal_name_t * | xattr_name, | ||
| fsal_op_context_t * | p_context, | ||
| caddr_t | buffer_addr, | ||
| size_t | buffer_size, | ||
| size_t * | p_output_size | ||
| ) | 
Get the value of an extended attribute from its name.
| p_objecthandle | Handle of the object you want to get attribute for. | 
| xattr_name | the name of the attribute to be read. | 
| p_context | pointer to the current security context. | 
| buffer_addr | address of the buffer where the xattr value is to be stored. | 
| buffer_size | size of the buffer where the xattr value is to be stored. | 
| p_output_size | size of the data actually stored into the buffer. | 
Definition at line 780 of file FSAL_VFS/fsal_xattrs.c.
| fsal_status_t VFSFSAL_ListXAttrs | ( | fsal_handle_t * | p_objecthandle, | 
| unsigned int | argcookie, | ||
| fsal_op_context_t * | p_context, | ||
| fsal_xattrent_t * | xattrs_tab, | ||
| unsigned int | xattrs_tabsize, | ||
| unsigned int * | p_nb_returned, | ||
| int * | end_of_list | ||
| ) | 
Retrieves the list of extended attributes for an object in the filesystem.
| p_objecthandle | Handle of the object we want to get extended attributes. | 
| cookie | index of the next entry to be returned. | 
| p_context | pointer to the current security context. | 
| xattrs_tab | a table for storing extended attributes list to. | 
| xattrs_tabsize | the maximum number of xattr entries that xattrs_tab can contain. | 
| p_nb_returned | the number of xattr entries actually stored in xattrs_tab. | 
| end_of_list | this boolean indicates that the end of xattrs list has been reached. | 
Definition at line 320 of file FSAL_VFS/fsal_xattrs.c.
| fsal_status_t VFSFSAL_RemoveXAttrById | ( | fsal_handle_t * | p_objecthandle, | 
| fsal_op_context_t * | p_context, | ||
| unsigned int | xattr_id | ||
| ) | 
Removes a xattr by Id
| p_objecthandle | Handle of the object you want to get attribute for. | 
| p_context | pointer to the current security context. | 
| xattr_id | xattr's id | 
Definition at line 943 of file FSAL_VFS/fsal_xattrs.c.
| fsal_status_t VFSFSAL_RemoveXAttrByName | ( | fsal_handle_t * | p_objecthandle, | 
| fsal_op_context_t * | p_context, | ||
| const fsal_name_t * | xattr_name | ||
| ) | 
Removes a xattr by Name
| p_objecthandle | Handle of the object you want to get attribute for. | 
| p_context | pointer to the current security context. | 
| xattr_name | xattr's name | 
Definition at line 981 of file FSAL_VFS/fsal_xattrs.c.
| fsal_status_t VFSFSAL_SetXAttrValue | ( | fsal_handle_t * | p_objecthandle, | 
| const fsal_name_t * | xattr_name, | ||
| fsal_op_context_t * | p_context, | ||
| caddr_t | buffer_addr, | ||
| size_t | buffer_size, | ||
| int | create | ||
| ) | 
Definition at line 857 of file FSAL_VFS/fsal_xattrs.c.
| fsal_status_t VFSFSAL_SetXAttrValueById | ( | fsal_handle_t * | p_objecthandle, | 
| unsigned int | xattr_id, | ||
| fsal_op_context_t * | p_context, | ||
| caddr_t | buffer_addr, | ||
| size_t | buffer_size | ||
| ) | 
Definition at line 899 of file FSAL_VFS/fsal_xattrs.c.
 1.7.3
 1.7.3