Lines Matching defs:dir

380 	dir_t dir;
391 switch ((*gen)(channel, tab, ntab, i, &dir)) {
397 if (strncmp(name, dir.name, NAMELEN) != 0) {
400 channel->qid = dir.qid;
412 int dirread(chan_t *channel, dir_t *dir, const dirtab_t *tab,
417 if ((channel == NULL) || (dir == NULL) || (gen == NULL)) {
422 ret = (*gen)(channel, tab, ntab, i, dir);
431 * This function sets the elements of dir.
433 void make_dir_entry(chan_t *channel, dir_t *dir,
436 if ((channel == NULL) || (dir == NULL) || (name == NULL)) {
440 strlcpy(dir->name, name, sizeof(dir->name));
441 dir->length = length;
442 dir->qid = qid;
443 dir->mode = mode;
446 dir->mode |= O_DIR;
449 dir->index = channel->index;
450 dir->dev = channel->dev;
456 * It copies and formats the information of the nth element of tab into dir.
458 int devgen(chan_t *channel, const dirtab_t *tab, int ntab, int n, dir_t *dir)
462 if ((channel == NULL) || (dir == NULL) || (tab == NULL) ||
468 make_dir_entry(channel, dir, dp->name, dp->length, dp->qid, dp->perm);
513 * If a match is found, dir contains the information file.
515 int devstat(chan_t *dirc, const char *file, dir_t *dir,
521 if ((dirc == NULL) || (dir == NULL) || (gen == NULL)) {
531 switch ((*gen)(dirc, tab, ntab, i, dir)) {
538 mnt = mount_point_to_channel(dir->index, dir->qid);
540 dir->qid = mnt->qid;
541 dir->index = mnt->index;
544 if ((dir->qid != c->qid) || (dir->index != c->index)) {
560 * The result is stored in dir.
562 int stat(const char *path, dir_t *dir)
569 if ((path == NULL) || (dir == NULL)) {
597 r = devtab[channel->index]->stat(channel, path, dir);