// Copyright (c) 2004 David Muse // See the file COPYING for more information #include #include #include #include #ifdef RUDIMENTS_NAMESPACE using namespace rudiments; #endif int main(int argc, const char **argv) { directory::create("testdir",permissions::evalPermString("rwxr-xr-x")); file f; f.create("testdir/testfile1",permissions::evalPermString("rw-r--r--")); f.close(); f.create("testdir/testfile2",permissions::evalPermString("rw-r--r--")); f.close(); printf("Contents of testdir:\n"); directory d; d.open("testdir"); char *name; for (off64_t index=0; (name=d.getChildName(index)); index++) { printf("%lld: %s\n",index,name); delete[] name; } printf("%d entries\n",d.getChildCount()); char *cwd=directory::getCurrentWorkingDirectory(); printf("cwd=%s\n",cwd); delete[] cwd; directory::changeDirectory("testdir"); cwd=directory::getCurrentWorkingDirectory(); printf("cwd=%s\n",cwd); delete[] cwd; directory::changeDirectory(".."); cwd=directory::getCurrentWorkingDirectory(); printf("cwd=%s\n",cwd); delete[] cwd; file::remove("testdir/testfile1"); file::remove("testdir/testfile2"); directory::remove("testdir"); printf("maxFileNameLength(/usr/local)=%d\n", directory::maxFileNameLength("/usr/local")); printf("maxPathLength(/usr/local)=%d\n", directory::maxPathLength("/usr/local")); printf("canAccessLongFileNames(/usr/local)=%d\n", directory::canAccessLongFileNames("/usr/local")); }