Lines Matching refs:LINUXATTR_CONTEXT
94 #define LINUXATTR_CONTEXT(x) ((struct _linuxattr_context *)(x))
98 if( !LINUXATTR_CONTEXT(context)->buf ) {
100 LINUXATTR_CONTEXT(context)->bufsz = 1024;
102 LINUXATTR_CONTEXT(context)->buf = malloc(LINUXATTR_CONTEXT(context)->bufsz);
103 if(!LINUXATTR_CONTEXT(context)->buf)
105 memset(LINUXATTR_CONTEXT(context)->buf, 0, LINUXATTR_CONTEXT(context)->bufsz);
106 r = lgetxattr(LINUXATTR_CONTEXT(context)->file, LINUXATTR_CONTEXT(context)->attrname, LINUXATTR_CONTEXT(context)->buf, LINUXATTR_CONTEXT(context)->bufsz);
109 case ERANGE: LINUXATTR_CONTEXT(context)->bufsz *= 2; free(LINUXATTR_CONTEXT(context)->buf); goto AGAIN2;
110 case ENOTSUP: free(LINUXATTR_CONTEXT(context)->buf); return 0;
115 LINUXATTR_CONTEXT(context)->bufsz = r;
118 if( (LINUXATTR_CONTEXT(context)->bufsz-LINUXATTR_CONTEXT(context)->off) <= len ) {
120 ret = LINUXATTR_CONTEXT(context)->bufsz - LINUXATTR_CONTEXT(context)->off;
121 memcpy(buf, ((char *)LINUXATTR_CONTEXT(context)->buf)+LINUXATTR_CONTEXT(context)->off, ret);
122 LINUXATTR_CONTEXT(context)->off += ret;
125 memcpy(buf, ((char *)LINUXATTR_CONTEXT(context)->buf)+LINUXATTR_CONTEXT(context)->off, len);
126 LINUXATTR_CONTEXT(context)->buf = ((char *)LINUXATTR_CONTEXT(context)->buf) + len;
132 return lsetxattr(LINUXATTR_CONTEXT(context)->file, LINUXATTR_CONTEXT(context)->attrname, buf, len, 0);