Annotation of libaitio/example/test_bufio.c, revision 1.1.2.2

1.1.2.1   misho       1: #include <stdio.h>
1.1.2.2 ! misho       2: #include <stdlib.h>
        !             3: #include <string.h>
1.1.2.1   misho       4: #include <fcntl.h>
                      5: #include <sys/mman.h>
                      6: #include <aitio.h>
                      7: 
                      8: 
                      9: int
                     10: main(int argc, char **argv)
                     11: {
                     12:        FILE *f;
                     13:        char b[BUFSIZ];
                     14:        void *p = NULL;
                     15: 
                     16:        if (argc < 2)
1.1.2.2 ! misho      17:                f = io_fmapopen(NULL, 0, 0, PROT_READ | PROT_WRITE, 0, 2000);
1.1.2.1   misho      18:        else
                     19:                f = io_fmapopen(argv[1], O_RDWR, 0, PROT_READ | PROT_WRITE, MAP_SHARED, 0);
                     20:        if (!f) {
                     21:                printf("Error:: #%d - %s\n", io_GetErrno(), io_GetError());
                     22:                return 1;
                     23:        }
                     24: 
                     25:        fwrite("123456789", 10, 1, f);
                     26:        fseek(f, 0, SEEK_SET);
1.1.2.2 ! misho      27:        memset(b, 0, sizeof b);
1.1.2.1   misho      28:        fread(b, sizeof b, 1, f);
                     29:        printf("b=%s\n", b);
                     30: //     fread(b, sizeof b, 1, f);
                     31:        fwrite("***", 4, 1, f);
                     32:        fwrite("*|\n", 3, 1, f);
                     33:        fseek(f, 100, SEEK_CUR);
                     34:        fwrite("oOo", 3, 1, f);
                     35:        fseek(f, -10, SEEK_END);
                     36:        fwrite("123456789", 10, 1, f);
                     37:        fseek(f, -10, SEEK_END);
1.1.2.2 ! misho      38:        memset(b, 0, sizeof b);
1.1.2.1   misho      39:        fread(b, sizeof b, 1, f);
                     40:        printf("2.b=%s\n", b);
                     41: 
                     42:        fclose(f);
                     43: 
                     44:        // part 2
                     45:        
1.1.2.2 ! misho      46:        f = io_fmemopen(&p, 100);
1.1.2.1   misho      47:        if (!f) {
                     48:                printf("Error:: #%d - %s\n", io_GetErrno(), io_GetError());
                     49:                return 2;
                     50:        }
                     51: 
                     52:        fwrite("123456789", 10, 1, f);
                     53:        fseek(f, 0, SEEK_SET);
1.1.2.2 ! misho      54:        memset(b, 0, sizeof b);
1.1.2.1   misho      55:        fread(b, sizeof b, 1, f);
                     56:        printf("b=%s\n", b);
                     57: //     fread(b, sizeof b, 1, f);
                     58:        fwrite("***", 4, 1, f);
                     59:        fwrite("*|\n", 3, 1, f);
                     60:        fseek(f, 100, SEEK_CUR);
                     61:        fwrite("oOo", 3, 1, f);
                     62:        fseek(f, -10, SEEK_END);
                     63:        fwrite("123456789", 10, 1, f);
                     64:        fseek(f, -10, SEEK_END);
1.1.2.2 ! misho      65:        memset(b, 0, sizeof b);
1.1.2.1   misho      66:        fread(b, sizeof b, 1, f);
                     67:        printf("2.b=%s\n", b);
                     68: 
                     69:        fclose(f);
                     70: 
                     71:        // part 3
                     72: 
                     73:        p = malloc(10000);
                     74:        f = io_fmemopen(&p, 10000);
                     75:        if (!f) {
                     76:                printf("Error:: #%d - %s\n", io_GetErrno(), io_GetError());
                     77:                return 3;
                     78:        }
                     79: 
                     80:        fwrite("123456789", 10, 1, f);
                     81:        fseek(f, 0, SEEK_SET);
1.1.2.2 ! misho      82:        memset(b, 0, sizeof b);
1.1.2.1   misho      83:        fread(b, sizeof b, 1, f);
                     84:        printf("b=%s\n", b);
                     85: //     fread(b, sizeof b, 1, f);
                     86:        fwrite("***", 4, 1, f);
                     87:        fwrite("*|\n", 3, 1, f);
                     88:        fseek(f, 100, SEEK_CUR);
                     89:        fwrite("oOo", 3, 1, f);
                     90:        fseek(f, -10, SEEK_END);
                     91:        fwrite("123456789", 10, 1, f);
                     92:        fseek(f, -10, SEEK_END);
1.1.2.2 ! misho      93:        memset(b, 0, sizeof b);
1.1.2.1   misho      94:        fread(b, sizeof b, 1, f);
                     95:        printf("2.b=%s\n", b);
                     96: 
                     97:        fclose(f);
                     98:        free(p);
                     99: 
                    100:        return 0;
                    101: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>