Lines Matching defs:ainfo
370 * ainfo - attribute info structure representing the attributes
385 averify(int fix, char *ftype, char *path, struct ainfo *ainfo)
448 (stat(ainfo->local, &status) < 0) ||
455 if (!isdir(ainfo->local)) {
458 ainfo->local);
465 if (link(ainfo->local, path)) {
468 ainfo->local);
477 reperr(pkg_gt(ERR_LINK), ainfo->local);
575 reperr(pkg_gt(ERR_SLINK), ainfo->local);
577 } else if (ainfo->local != NULL) {
579 if (strcmp(buf, ainfo->local)) {
580 reperr(pkg_gt(ERR_SLINK), ainfo->local);
583 } else if (ainfo->local == NULL) {
586 * into the ainfo structure
589 ainfo->local = strdup(buf);
607 if (mkdir(path, ainfo->mode)) {
619 mkdir(p, ainfo->mode))
631 if (symlink(ainfo->local, path)) {
633 ainfo->local);
645 if (ainfo->major == BADMAJOR) {
646 ainfo->major = 0;
650 if (ainfo->minor == BADMINOR) {
651 ainfo->minor = 0;
658 ainfo->major, ainfo->minor);
661 if (mknod(path, ainfo->mode | S_IFCHR,
662 makedev(ainfo->major, ainfo->minor)) ||
675 if (ainfo->major == BADMAJOR) {
676 ainfo->major = 0;
680 if (ainfo->minor == BADMINOR) {
681 ainfo->minor = 0;
688 ainfo->major, ainfo->minor);
691 if (mknod(path, ainfo->mode | S_IFBLK,
692 makedev(ainfo->major, ainfo->minor)) ||
698 if (mknod(path, ainfo->mode | S_IFIFO, NULL) ||
717 if (setval || (ainfo->major == BADMAJOR))
718 ainfo->major = major(status.st_rdev);
719 if (setval || (ainfo->minor == BADMINOR))
720 ainfo->minor = minor(status.st_rdev);
722 if (status.st_rdev != makedev(ainfo->major, ainfo->minor)) {
723 reperr(pkg_gt(ERR_MAJMIN), ainfo->major, ainfo->minor,
730 if (setval || (ainfo->mode == BADMODE) || (ainfo->mode == WILDCARD))
731 ainfo->mode = status.st_mode & 07777;
732 else if ((ainfo->mode & 06777) != (status.st_mode & 06777)) {
734 if ((ainfo->mode == BADMODE) ||
735 (chmod(path, ainfo->mode) < 0))
738 reperr(pkg_gt(ERR_PERM), ainfo->mode,
748 if (setval || strcmp(ainfo->group, BADGROUP) == 0) {
751 (void) strcpy(ainfo->group, grp->gr_name);
758 } else if ((grp = cgrnam(ainfo->group)) == NULL) {
759 reperr(pkg_gt(ERR_BADGRPNM), ainfo->group);
770 reperr(pkg_gt(ERR_GROUP), ainfo->group,
773 reperr(pkg_gt(ERR_GROUP), ainfo->group,
782 if (setval || strcmp(ainfo->owner, BADOWNER) == 0) {
785 (void) strcpy(ainfo->owner, pwd->pw_name);
792 } else if ((pwd = cpwnam(ainfo->owner)) == NULL) {
794 reperr(pkg_gt(ERR_BADUSRNM), ainfo->owner);
808 reperr(pkg_gt(ERR_OWNER), ainfo->owner,
840 fverify(int fix, char *ftype, char *path, struct ainfo *ainfo,
851 if ((retval = averify(fix, ftype, path, ainfo)) == 0) {