00001 #include <stdio.h> 00002 #include <unistd.h> 00003 #include "sfs_index.h" 00004 #include <stdlib.h> 00005 #include <sys/types.h> 00006 #include <sys/stat.h> 00007 #include <fcntl.h> 00008 #include <string.h> 00009 00010 00011 int buffer[1000]; 00012 00013 int main(int argc, char *argv[]) 00014 { 00015 char name[20]; 00016 strcpy(name, "123456"); 00017 00018 if(argc > 1) { 00019 strcpy(name,argv[1]); 00020 } 00021 00022 sfs_index idx; 00023 00024 00025 memset((char *)buffer, 0xffffffff, sizeof(buffer)); 00026 00027 printf("Before: \n"); 00028 for(int i=0;i<20;i++) { 00029 printf("%d -- 0x%08x\n",i,buffer[i]); 00030 } 00031 00032 00033 idx.putfileheader((char *)buffer, name, 0,0); 00034 00035 printf("sizeof(SFS_File)=%d\n",sizeof(SFS_File)); 00036 00037 printf("After: \n"); 00038 for(int i=0;i<20;i++) { 00039 printf("%d -- 0x%08x\n",i,buffer[i]); 00040 } 00041 00042 } 00043 00044 00045 // char filebuff[100000]; 00046 00047 00048 // char *b1 = "This is file 1\n\ntoasty in here."; 00049 // char *b2 = "File 2 is shorter xx"; 00050 00051 // char *n1 = "dumbodropblahblahblah"; 00052 // char *n2 = "jeffdrop"; 00053 // char *b3 = "hello"; 00054 // char *b4 = "hello there dumbo"; 00055 00056 // int main(int argc, char *argv[]) 00057 // { 00058 // int ret; 00059 // sfs_index idx; 00060 00061 // printf("sizeof(SFS_File) = %d\n",sizeof(SFS_File) ); 00062 00063 // ret = idx.mount("write2.sfs", O_WRONLY | O_CREAT | O_TRUNC); 00064 00065 // //ret = idx.mountmem(filebuff, 100000, O_WRONLY | O_CREAT); 00066 00067 // if(ret < 0) { 00068 // printf("error mounting write.sfs\n"); 00069 // return 0; 00070 // } 00071 00072 // printf("mounted\n"); 00073 00074 // idx.write("/this/long/filename/a",b1,strlen(b1)); 00075 00076 // printf("write1\n"); 00077 00078 // idx.cd("/jeff"); 00079 00080 // printf("cd\n"); 00081 00082 // idx.write("bbbbb",b2,strlen(b2)); 00083 00084 // idx.write("injeff",b2,strlen(b2)); 00085 00086 // printf("write2\n"); 00087 00088 // idx.write("/500/a",b2,strlen(b2)); 00089 // idx.write("/50/a",b2,strlen(b2)); 00090 // idx.write("/5/a",b2,strlen(b2)); 00091 // idx.write("/100000/a",b2,strlen(b2)); 00092 // idx.write("/1/a",b2,strlen(b2)); 00093 // idx.write("/2/a",b2,strlen(b2)); 00094 // idx.write("/3/a",b2,strlen(b2)); 00095 // idx.write("/4/a",b2,strlen(b2)); 00096 00097 00098 00099 00100 // fs_iovec myfiles[2] = { { n1, b3, strlen(b3) }, 00101 // { n2, b4, strlen(b4) } }; 00102 00103 // printf("blah\n"); 00104 // int n = idx.getwritevsz(myfiles, 2); 00105 // printf("n=%d\n",n); 00106 // ret = idx.writev(myfiles, 2); 00107 // printf("writevsize = %d (%d)\n",n,ret); 00108 00109 00110 // int sz = idx.mountsz(); 00111 00112 // if(sz == -1) exit(0); 00113 00114 // idx.umount(); 00115 00116 // idx.mount("write2.sfs", O_RDONLY); 00117 // // ret = idx.mountmem(filebuff, sz, O_RDONLY); 00118 // // printf("mount rdonly = %d\n",ret); 00119 00120 // char buff[1000]; 00121 // memset(buff, 0, sizeof(buff)); 00122 // ret = idx.fileSize("/this/long/filename/a"); 00123 // printf("file a size = %d\n",ret); 00124 00125 // ret = idx.read("/this/long/filename/a",buff, 1000); 00126 // printf("file a: (%d):\n%s\n\n",ret,buff); 00127 00128 // memset(buff, 0, sizeof(buff)); 00129 // ret = idx.read("/jeff/b",buff, 1000); 00130 // printf("file b: (%d):\n%s\n\n",ret,buff); 00131 00132 // memset(buff, 0, sizeof(buff)); 00133 // buff[0] = '\0'; 00134 // ret = idx.read("/jeff/dumbodrop",buff, 1000); 00135 // printf("file invalid: (%d):\n%s\n\n",ret,buff); 00136 00137 // idx.umount(); 00138 00139 // //int fd = open("xxx.sfs", O_WRONLY | O_CREAT,0666); 00140 // // write(fd, filebuff, sz); 00141 // //close(fd); 00142 // }
1.5.9