Lines Matching refs:dirp
93 DIR *dirp;
130 if ((dirp = malloc(sizeof(DIR))) == NULL)
143 dirp -> dd_loc = 0;
144 dirp -> dd_contents = dirp -> dd_cp = NULL;
147 return dirp;
156 free_dircontents(dirp -> dd_contents);
161 if (dirp -> dd_contents)
163 dirp -> dd_cp -> _d_next = dp;
164 dirp -> dd_cp = dirp -> dd_cp -> _d_next;
167 dirp -> dd_contents = dirp -> dd_cp = dp;
179 dirp -> dd_cp = dirp -> dd_contents;
181 return dirp;
184 void closedir(DIR * dirp)
186 free_dircontents(dirp -> dd_contents);
187 free(dirp);
190 struct dirent *readdir(DIR * dirp)
194 if (dirp -> dd_cp == NULL)
198 strlen(strcpy(dp.d_name, dirp -> dd_cp -> _d_entry));
202 dp.d_size = dirp -> dd_cp -> _d_size;
203 dp.d_mode = dirp -> dd_cp -> _d_mode;
204 dp.d_time = dirp -> dd_cp -> _d_time;
205 dp.d_date = dirp -> dd_cp -> _d_date;
207 dirp -> dd_cp = dirp -> dd_cp -> _d_next;
208 dirp -> dd_loc++;
213 void seekdir(DIR * dirp, long off)
220 for (dp = dirp -> dd_contents; --i >= 0 && dp; dp = dp -> _d_next);
222 dirp -> dd_loc = off - (i + 1);
223 dirp -> dd_cp = dp;
227 long telldir(DIR * dirp)
229 return dirp -> dd_loc;