Annotation of libaitio/example/test_bufio.c, revision 1.2
1.2 ! misho 1: #include <stdio.h>
! 2: #include <stdlib.h>
! 3: #include <string.h>
! 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: f = io_fd2buf(io_dumbFile("xxx", 0644, 12345), "r+");
! 17: fclose(f);
! 18:
! 19: if (argc < 2)
! 20: f = io_fmapopen(NULL, 0, 0, PROT_READ | PROT_WRITE, 0, 2000);
! 21: else
! 22: f = io_fmapopen(argv[1], O_RDWR, 0, PROT_READ | PROT_WRITE, MAP_SHARED, 0);
! 23: if (!f) {
! 24: printf("Error:: #%d - %s\n", io_GetErrno(), io_GetError());
! 25: return 1;
! 26: }
! 27:
! 28: fwrite("123456789", 10, 1, f);
! 29: fseek(f, 0, SEEK_SET);
! 30: memset(b, 0, sizeof b);
! 31: fread(b, sizeof b, 1, f);
! 32: printf("b=%s\n", b);
! 33: // fread(b, sizeof b, 1, f);
! 34: fwrite("***", 4, 1, f);
! 35: fwrite("*|\n", 3, 1, f);
! 36: fseek(f, 100, SEEK_CUR);
! 37: fwrite("oOo", 3, 1, f);
! 38: fseek(f, -10, SEEK_END);
! 39: fwrite("123456789", 10, 1, f);
! 40: fseek(f, -10, SEEK_END);
! 41: memset(b, 0, sizeof b);
! 42: fread(b, sizeof b, 1, f);
! 43: printf("2.b=%s\n", b);
! 44:
! 45: fclose(f);
! 46:
! 47: // part 2
! 48:
! 49: f = io_fmemopen(&p, 100);
! 50: if (!f) {
! 51: printf("Error:: #%d - %s\n", io_GetErrno(), io_GetError());
! 52: return 2;
! 53: }
! 54:
! 55: fwrite("123456789", 10, 1, f);
! 56: fseek(f, 0, SEEK_SET);
! 57: memset(b, 0, sizeof b);
! 58: fread(b, sizeof b, 1, f);
! 59: printf("b=%s\n", b);
! 60: // fread(b, sizeof b, 1, f);
! 61: fwrite("***", 4, 1, f);
! 62: fwrite("*|\n", 3, 1, f);
! 63: fseek(f, 100, SEEK_CUR);
! 64: fwrite("oOo", 3, 1, f);
! 65: fseek(f, -10, SEEK_END);
! 66: fwrite("123456789", 10, 1, f);
! 67: fseek(f, -10, SEEK_END);
! 68: memset(b, 0, sizeof b);
! 69: fread(b, sizeof b, 1, f);
! 70: printf("2.b=%s\n", b);
! 71:
! 72: fclose(f);
! 73:
! 74: // part 3
! 75:
! 76: p = malloc(10000);
! 77: f = io_fmemopen(&p, 10000);
! 78: if (!f) {
! 79: printf("Error:: #%d - %s\n", io_GetErrno(), io_GetError());
! 80: return 3;
! 81: }
! 82:
! 83: fwrite("123456789", 10, 1, f);
! 84: fseek(f, 0, SEEK_SET);
! 85: memset(b, 0, sizeof b);
! 86: fread(b, sizeof b, 1, f);
! 87: printf("b=%s\n", b);
! 88: // fread(b, sizeof b, 1, f);
! 89: fwrite("***", 4, 1, f);
! 90: fwrite("*|\n", 3, 1, f);
! 91: fseek(f, 100, SEEK_CUR);
! 92: fwrite("oOo", 3, 1, f);
! 93: fseek(f, -10, SEEK_END);
! 94: fwrite("123456789", 10, 1, f);
! 95: fseek(f, -10, SEEK_END);
! 96: memset(b, 0, sizeof b);
! 97: fread(b, sizeof b, 1, f);
! 98: printf("2.b=%s\n", b);
! 99:
! 100: fclose(f);
! 101: free(p);
! 102:
! 103: return 0;
! 104: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>