• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/samba/source/smbwrapper/

Lines Matching refs:dir

40 	struct smbw_dir *dir;
42 for (dir=smbw_dirs;dir;dir=dir->next) {
43 if (dir->fd == fd) return dir;
54 struct smbw_dir *dir;
56 for (dir=smbw_dirs;dir;dir=dir->next) {
57 if (dir == d) return 1;
65 static void free_dir(struct smbw_dir *dir)
67 if (dir->list) {
68 free(dir->list);
70 if (dir->path) free(dir->path);
71 ZERO_STRUCTP(dir);
72 free(dir);
165 struct smbw_dir *dir=NULL;
189 dir = (struct smbw_dir *)malloc(sizeof(*dir));
190 if (!dir) {
195 ZERO_STRUCTP(dir);
197 cur_dir = dir;
251 DLIST_ADD(smbw_dirs, dir);
255 dir->fd = fd;
256 dir->srv = srv;
257 dir->path = strdup(s);
259 DEBUG(4,(" -> %d\n", dir->count));
261 return dir->fd;
264 if (dir) {
265 free_dir(dir);
276 struct smbw_dir *dir;
278 dir = smbw_dir(fd);
279 if (!dir) {
286 smbw_setup_stat(st, "", dir->count*DIRP_SIZE, aDIR);
288 st->st_dev = dir->srv->dev;
298 struct smbw_dir *dir;
300 dir = smbw_dir(fd);
301 if (!dir) {
306 bitmap_clear(smbw_file_bmap, dir->fd);
307 close(dir->fd);
309 DLIST_REMOVE(smbw_dirs, dir);
311 free_dir(dir);
321 struct smbw_dir *dir;
326 dir = smbw_dir(fd);
327 if (!dir) {
333 while (count>=DIRP_SIZE && (dir->offset < dir->count)) {
335 dirp->d_off = (dir->offset+1)*DIRP_SIZE;
338 fstrcpy(&dirp->d_name[0], dir->list[dir->offset].name);
339 dirp->d_ino = smbw_inode(dir->list[dir->offset].name);
340 dir->offset++;
343 if (dir->offset == dir->count) {
443 struct smbw_dir *dir;
446 dir = smbw_dir(fd);
447 if (!dir) {
454 dir->offset = offset/DIRP_SIZE;
457 dir->offset += offset/DIRP_SIZE;
460 dir->offset = (dir->count * DIRP_SIZE) + offset;
461 dir->offset /= DIRP_SIZE;
465 ret = dir->offset * DIRP_SIZE;
596 struct smbw_dir *dir;
601 dir = smbw_dir(fd);
602 if (dir) {
604 return chdir(dir->path);