| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | /* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- *//* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */#include "pal.h"#include "pal_debug.h"#include "api.h"int main (int argc, char ** argv, char ** envp){    /* test regular directory opening */    PAL_HANDLE dir1 = DkStreamOpen("dir:dir_exist.tmp",                                    PAL_ACCESS_RDONLY, 0, 0, 0);    if (dir1) {        pal_printf("Directory Open Test 1 OK\n");        PAL_STREAM_ATTR attr1;        if (DkStreamAttributesQuerybyHandle(dir1, &attr1))            pal_printf("Query by Handle: type = %d\n", attr1.handle_type);        char buffer[80];        int bytes = DkStreamRead(dir1, 0, 80, buffer, NULL, 0);        if (bytes) {            for (char * c = buffer ; c < buffer + bytes ; c += strlen(c) + 1)                if (strlen(c))                    pal_printf("Read Directory: %s\n", c);        }        DkObjectClose(dir1);    }    PAL_HANDLE dir2 = DkStreamOpen("dir:./dir_exist.tmp",                                    PAL_ACCESS_RDONLY, 0, 0, 0);    if (dir2) {        pal_printf("Directory Open Test 2 OK\n");        DkObjectClose(dir2);    }    PAL_HANDLE dir3 = DkStreamOpen("dir:../regression/dir_exist.tmp",                                    PAL_ACCESS_RDONLY, 0, 0, 0);    if (dir3) {        pal_printf("Directory Open Test 3 OK\n");        DkObjectClose(dir3);    }    PAL_STREAM_ATTR attr2;    if (DkStreamAttributesQuery("dir:dir_exist.tmp", &attr2))        pal_printf("Query: type = %d\n", attr2.handle_type);    /* test regular directory creation */    PAL_HANDLE dir4 = DkStreamOpen("dir:dir_nonexist.tmp",                                   PAL_ACCESS_RDONLY,                                   PAL_SHARE_OWNER_R|PAL_SHARE_OWNER_W|PAL_SHARE_OWNER_X,                                   PAL_CREATE_TRY|PAL_CREATE_ALWAYS, 0);    if (dir4) {        pal_printf("Directory Creation Test 1 OK\n");        DkObjectClose(dir4);    }    PAL_HANDLE dir5 = DkStreamOpen("dir:dir_nonexist.tmp",                                   PAL_ACCESS_RDONLY,                                   PAL_SHARE_OWNER_R|PAL_SHARE_OWNER_W|PAL_SHARE_OWNER_X,                                   PAL_CREATE_TRY|PAL_CREATE_ALWAYS, 0);    if (dir5) {        DkObjectClose(dir5);    } else {        pal_printf("Directory Creation Test 2 OK\n");    }    PAL_HANDLE dir6 = DkStreamOpen("dir:dir_nonexist.tmp",                                   PAL_ACCESS_RDWR,                                   PAL_SHARE_OWNER_R|PAL_SHARE_OWNER_W,                                   PAL_CREATE_TRY, 0);    if (dir6) {        pal_printf("Directory Creation Test 3 OK\n");        DkObjectClose(dir6);    }    PAL_HANDLE dir7 = DkStreamOpen("dir:dir_delete.tmp",                                   PAL_ACCESS_RDONLY, 0, 0, 0);    if (dir7) {        DkStreamDelete(dir7, 0);        DkObjectClose(dir7);    }    return 0;}
 |