comparison lib/lib.h @ 607:8bee9c27c219 0.3.1

Unify chown and chgrp, add support for -hHLP flags.
author Rob Landley <rob@landley.net>
date Sun, 24 Jun 2012 18:35:49 -0500
parents a6a541b7fc34
children f51beec92738
comparison
equal deleted inserted replaced
606:b9ea00fffee5 607:8bee9c27c219
63 #define DIRTREE_ABORTVAL ((struct dirtree *)1) 63 #define DIRTREE_ABORTVAL ((struct dirtree *)1)
64 64
65 struct dirtree { 65 struct dirtree {
66 struct dirtree *next, *parent, *child; 66 struct dirtree *next, *parent, *child;
67 long extra; // place for user to store their stuff (can be pointer) 67 long extra; // place for user to store their stuff (can be pointer)
68 long data; // dirfd for directory, linklen for symlink 68 long data; // dirfd for directory, linklen for symlink, -1 = comeagain
69 struct stat st; 69 struct stat st;
70 char *symlink; 70 char *symlink;
71 char name[]; 71 char name[];
72 }; 72 };
73 73
74 struct dirtree *dirtree_add_node(int dirfd, char *name, int symfollow); 74 struct dirtree *dirtree_add_node(int dirfd, char *name, int symfollow);
75 char *dirtree_path(struct dirtree *node, int *plen); 75 char *dirtree_path(struct dirtree *node, int *plen);
76 int dirtree_notdotdot(struct dirtree *catch); 76 int dirtree_notdotdot(struct dirtree *catch);
77 int dirtree_parentfd(struct dirtree *node); 77 int dirtree_parentfd(struct dirtree *node);
78 int dirtree_opennode(struct dirtree *try);
79 struct dirtree *handle_callback(struct dirtree *new, 78 struct dirtree *handle_callback(struct dirtree *new,
80 int (*callback)(struct dirtree *node)); 79 int (*callback)(struct dirtree *node));
81 void dirtree_recurse(struct dirtree *node, 80 void dirtree_recurse(struct dirtree *node,
82 int (*callback)(struct dirtree *node), int symfollow); 81 int (*callback)(struct dirtree *node), int symfollow);
83 struct dirtree *dirtree_read(char *path, int (*callback)(struct dirtree *node)); 82 struct dirtree *dirtree_read(char *path, int (*callback)(struct dirtree *node));