07-29-2010
Are you on linux? __readdir is a symbol, an entry point for the syscall. You need to read the __readdir kernel code.
scandir() is re-entrant and threadsafe because it does not use local static data like strtok() or localtime(). scandir is not async-safe.
This User Gave Thanks to jim mcnamara For This Post:
10 More Discussions You Might Find Interesting
1. Post Here to Contact Site Administrators and Moderators
Neo, if I have an old thread that is a few months old, and a few pages back in the forum it was posted in, is it ok to 'bump' it back to the front? or, would you rather i deleted the old thread, and just create a new one? btw the thread has no replies. (2 Replies)
Discussion started by: norsk hedensk
2 Replies
2. Programming
I'm writing a file manager program using FC3 and C, and I'm having a problem displaying the stat info of subdirectories.
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
int main()
{
char *dirname = "mydirectory";
struct dirent **namelist;
... (2 Replies)
Discussion started by: Bertsura
2 Replies
3. UNIX for Dummies Questions & Answers
i am tring to sort lots of data thats in many columns by just one column but, if I use sort +16 inputfile the column fluctuates because some of the rows have spaces etc within the text, so the end result is just a mess as it jumps around the columns depending whether it has spaces or not ....ie... (2 Replies)
Discussion started by: Gerry405
2 Replies
4. Programming
I'd like to use scandir() on solaris, but it doesn't find sys/dir.h
What do you think I should do?
thanks (2 Replies)
Discussion started by: nadiamihu
2 Replies
5. Solaris
Hi all!
1)Is there a way to write a program that will work on both solaris and intel based machines.
2)How can I achive this for a program that creates and synchronizes three threads.
Thank you.
vij. (3 Replies)
Discussion started by: vijlak
3 Replies
6. UNIX for Advanced & Expert Users
Hi,
I have a program that has two types of threads:
1) Reader threads
2) Worker Threads
Readers: Their only job is to read files. They just read data from the files and put them into a buffer. They are obviously I/O intensive.
Workers: These are CPU intensive. They do some computation... (5 Replies)
Discussion started by: the_learner
5 Replies
7. UNIX for Advanced & Expert Users
Hi all,
How can I get the list of all Threads and the Total count of threads under a particular process ?
Do suggest !!
Awaiting for the replies !!
Thanks
Varun:b: (2 Replies)
Discussion started by: varungupta
2 Replies
8. Programming
Currently, Im trying to redesign some Unix-based C code to work on the Windows operating system and one problem I ran into when compiling was that the compiler failed to recognise scandir() (from my original Linux code)
Im aware that scandir() is a Unix-based function, so is there an equivalent... (1 Reply)
Discussion started by: JamesGoh
1 Replies
9. Programming
Hello! I started studying studying about POSIX Threads a few days ago... so I am a little confused and I would appreciate some help!
I isolated this code... and I wonder if I could use threads in it!
#include <unistd.h>
#endif
#include <math.h>
//#include "main.h"
#include <sys/time.h>... (1 Reply)
Discussion started by: smurf2
1 Replies
10. UNIX for Advanced & Expert Users
Hi everyone;
I am trying to compile and execute a test program I wrote that calls scandir and it seems to not like my prototype. The Documentation on SUN for this function is clear, but I am missed something..... and I can't figure it out;
I am using
cc -gv -osaveas saveas.c
on Sun... (1 Reply)
Discussion started by: dhelie
1 Replies
LEARN ABOUT SUNOS
alphasort
scandir(3UCB) SunOS/BSD Compatibility Library Functions scandir(3UCB)
NAME
scandir, alphasort - scan a directory
SYNOPSIS
/usr/ucb/cc [ flag... ] file...
#include <sys/types.h>
#include <sys/dir.h>
int scandir(dirname, namelist, select, dcomp);
char *dirname;
struct direct *(*namelist[]);
int (*select(.),(*dcomp)();
int alphasort(d1, d2);
struct direct **d1, **d2;
DESCRIPTION
The scandir() function reads the directory dirname and builds an array of pointers to directory entries using malloc(3C). The second param-
eter is a pointer to an array of structure pointers. The third parameter is a pointer to a routine which is called with a pointer to a
directory entry and should return a non zero value if the directory entry should be included in the array. If this pointer is NULL, then
all the directory entries will be included. The last argument is a pointer to a routine which is passed to qsort(3C), which sorts the com-
pleted array. If this pointer is NULL, the array is not sorted.
The alphasort() function sorts the array alphabetically.
RETURN VALUES
The scandir() function returns the number of entries in the array and a pointer to the array through the parameter namelist. The scandir()
function returns -1 if the directory cannot be opened for reading or if malloc(3C) cannot allocate enough memory to hold all the data
structures.
The alphasort() function returns an integer greater than, equal to, or less than 0 if the directory entry name pointed to by d1 is greater
than, equal to, or less than the directory entry name pointed to by d2.
USAGE
The scandir() and alphasort() functions have transitional interfaces for 64-bit file offsets. See lf64(5).
SEE ALSO
getdents(2), malloc(3C), qsort(3C), readdir(3UCB), readdir(3C), lf64(5)
NOTES
Use of these functions should be restricted to applications written on BSD platforms. Use of these functions with any of the system
libraries or in multithreaded applications is unsupported.
SunOS 5.10 3 Jan 2002 scandir(3UCB)