/* IBM_PROLOG_BEGIN_TAG                                                   */
/* This is an automatically generated prolog.                             */
/*                                                                        */
/* bos720 src/bos/kernel/sys/ea.h 1.2.1.4                                 */
/*                                                                        */
/* Licensed Materials - Property of IBM                                   */
/*                                                                        */
/* Restricted Materials of IBM                                            */
/*                                                                        */
/* COPYRIGHT International Business Machines Corp. 2004,2011              */
/* All Rights Reserved                                                    */
/*                                                                        */
/* US Government Users Restricted Rights - Use, duplication or            */
/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
/*                                                                        */
/* IBM_PROLOG_END_TAG                                                     */
/* @(#)39    1.2.1.4  src/bos/kernel/sys/ea.h, syslfs, bos720 7/15/11 03:10:53 */
#ifndef _H_EA
#define _H_EA

#ifdef __cplusplus
extern "C" {
#endif

#include <sys/types.h>
#include <sys/stat.h>

#define PFS_SYS_ATTR        "\370SYSTEM\370PFS"

/* exported extended attribute interface */

ssize_t getea(const char *, const char *, void *, size_t);
ssize_t lgetea(const char *, const char *, void *, size_t);
ssize_t fgetea(int, const char *, void *, size_t);
int fp_getea(struct file *, const char *, void *, size_t, ssize_t *, int);

int setea(const char *, const char *, void *, size_t, int);
int lsetea(const char *, const char *, void *, size_t, int);
int fsetea(int, const char *, void *, size_t, int);
int fp_setea(struct file *, const char *, void *, size_t, int, int);

ssize_t listea(const char *, const char *, size_t);
ssize_t llistea(const char *, const char *, size_t);
ssize_t flistea(int, const char *, size_t);
int fp_listea(struct file *, const char *, size_t, ssize_t *, int);

int removeea(const char *, const char *);
int lremoveea(const char *, const char *);
int fremoveea(int, const char *);
int fp_removeea(struct file *, const char *, int);

struct stat;

int statea(const char *, const char *, struct stat64x *);
int lstatea(const char *, const char *, struct stat64x *);
int fstatea(int, const char *, struct stat64x *);
int fp_statea(struct file *, const char *, struct stat64x *, int);

#ifdef __cplusplus
}
#endif

#endif /* _H_EA */
