FireBirdLib - Topfield TMS PVR TAP Programming Library
ExtAttribExists.c
Go to the documentation of this file.
1#include <string.h>
2#include <unistd.h>
3#include <sys/types.h>
4#include <fcntl.h>
5#include <sys/xattr.h>
6#include "libFireBird.h"
7
8int ExtAttribExists(char *FileName, char *AttrName)
9{
10 TRACEENTER();
11
12 char FullAttrName[128];
13 char AbsFileName[FBLIB_DIR_SIZE];
14 int f, i;
15
16 if(!FileName || !*FileName || !AttrName || !*AttrName)
17 {
18 TRACEEXIT();
19 return 0;
20 }
21
22 ConvertPathType(FileName, AbsFileName, PF_FullLinuxPath);
23 if(*AbsFileName)
24 {
25 f = open(AbsFileName, O_RDWR, 0600);
26 if(f >= 0)
27 {
28 TAP_SPrint(FullAttrName, "user.%s", AttrName);
29
30 if((i = fgetxattr(f, FullAttrName, NULL, 0)) >= 0)
31 {
32 close(f);
33
34 TRACEEXIT();
35 return i;
36 }
37 close(f);
38 }
39 }
40
41 TRACEEXIT();
42 return 0;
43}
void ConvertPathType(const char *Source, char *Dest, tPathFormat DestFormat)
int ExtAttribExists(char *FileName, char *AttrName)
#define FBLIB_DIR_SIZE
Definition: libFireBird.h:1871
#define TRACEEXIT()
Definition: libFireBird.h:1244
#define TRACEENTER()
Definition: libFireBird.h:1243
@ PF_FullLinuxPath
Definition: libFireBird.h:1926