Lines Matching defs:xattr

32 #include <sys/xattr.h>
124 * Read xattr data off the cnode. Then, if conditions permit,
558 /* prepare to write the xattr out */
668 * - write out the xattr if it hasn't already been saved
794 /* write out the xattr if it's new */
924 panic("Content Protection: cp_xattr called with xattr == NULL");
989 * Stores new xattr data on the cnode.
1153 struct cp_root_xattr xattr;
1157 err = cp_getrootxattr (hfsmp, &xattr);
1160 hfsmp->hfs_running_cp_major_vers = xattr.major_version;
1215 * Initializes a new cprotect entry with xattr data from the cnode.
1238 struct cp_xattr_v4 *xattr = NULL;
1239 MALLOC (xattr, struct cp_xattr_v4*, sizeof(struct cp_xattr_v4), M_TEMP, M_WAITOK);
1240 if (xattr == NULL) {
1244 bzero(xattr, sizeof (struct cp_xattr_v4));
1245 attrsize = sizeof(*xattr);
1247 uio_addiov(auio, CAST_USER_ADDR_T(xattr), attrsize);
1252 FREE (xattr, M_TEMP);
1257 xattr->xattr_major_version = OSSwapLittleToHostInt16(xattr->xattr_major_version);
1258 xattr->xattr_minor_version = OSSwapLittleToHostInt16(xattr->xattr_minor_version);
1259 xattr->key_size = OSSwapLittleToHostInt32(xattr->key_size);
1260 xattr->flags = OSSwapLittleToHostInt32(xattr->flags);
1261 xattr->persistent_class = OSSwapLittleToHostInt32(xattr->persistent_class);
1263 if (xattr->xattr_major_version != hfsmp->hfs_running_cp_major_vers ) {
1264 printf("hfs: cp_getxattr: bad xattr version %d expecting %d\n",
1265 xattr->xattr_major_version, hfsmp->hfs_running_cp_major_vers);
1267 FREE (xattr, M_TEMP);
1276 if (xattr->key_size > CP_MAX_WRAPPEDKEYSIZE) {
1278 FREE (xattr, M_TEMP);
1283 /* set up entry with information from xattr */
1284 entry = cp_entry_alloc(xattr->key_size);
1286 FREE (xattr, M_TEMP);
1291 entry->cp_pclass = xattr->persistent_class;
1292 if (xattr->xattr_major_version >= CP_NEW_MAJOR_VERS) {
1295 bcopy(xattr->persistent_key, entry->cp_persistent_key, xattr->key_size);
1297 FREE (xattr, M_TEMP);
1302 struct cp_xattr_v2 *xattr = NULL;
1303 MALLOC (xattr, struct cp_xattr_v2*, sizeof(struct cp_xattr_v2), M_TEMP, M_WAITOK);
1304 if (xattr == NULL) {
1308 bzero (xattr, sizeof (struct cp_xattr_v2));
1309 attrsize = sizeof(*xattr);
1311 uio_addiov(auio, CAST_USER_ADDR_T(xattr), attrsize);
1316 FREE (xattr, M_TEMP);
1321 xattr->xattr_major_version = OSSwapLittleToHostInt16(xattr->xattr_major_version);
1322 xattr->xattr_minor_version = OSSwapLittleToHostInt16(xattr->xattr_minor_version);
1323 xattr->key_size = OSSwapLittleToHostInt32(xattr->key_size);
1324 xattr->flags = OSSwapLittleToHostInt32(xattr->flags);
1325 xattr->persistent_class = OSSwapLittleToHostInt32(xattr->persistent_class);
1327 if (xattr->xattr_major_version != hfsmp->hfs_running_cp_major_vers) {
1328 printf("hfs: cp_getxattr: bad xattr version %d expecting %d\n",
1329 xattr->xattr_major_version, hfsmp->hfs_running_cp_major_vers);
1331 FREE (xattr, M_TEMP);
1340 if (xattr->key_size > CP_V2_WRAPPEDKEYSIZE) {
1342 FREE (xattr, M_TEMP);
1345 /* set up entry with information from xattr */
1346 entry = cp_entry_alloc(xattr->key_size);
1348 FREE (xattr, M_TEMP);
1352 entry->cp_pclass = xattr->persistent_class;
1353 bcopy(xattr->persistent_key, entry->cp_persistent_key, xattr->key_size);
1354 FREE (xattr, M_TEMP);