コード例 #1
0
ファイル: test-stat.cpp プロジェクト: PeteGozz/fskit
int main( int argc, char** argv ) {

   struct fskit_core* core = NULL;
   int rc;
   char name_buf[10];
   struct fskit_file_handle* fh = NULL;
   void* output;

   rc = fskit_test_begin( &core, NULL );
   if( rc != 0 ) {
      exit(1);
   }

   for( int i = 0; i < 256; i++ ) {

      sprintf(name_buf, "/%d", i );

      fh = fskit_create( core, name_buf, 0, i, 0644, &rc );

      if( fh == NULL ) {
         fskit_error("fskit_create('%s') rc = %d\n", name_buf, rc );
         exit(1);
      }

      fskit_close( core, fh );
   }

   for( int i = 0; i < 256; i++ ) {

      sprintf(name_buf, "/%d", i );

      struct stat sb;
      memset( &sb, 0xFF, sizeof(struct stat) );

      rc = fskit_stat( core, name_buf, 0, i, &sb );

      if( rc != 0 ) {
         fskit_error("fskit_stat('%s') rc = %d\n", name_buf, rc );
         exit(1);
      }

      fskit_debug("%s: stat(st_dev=%lX st_ino=%lX st_mode=%o st_nlink=%lu st_uid=%d st_gid=%d st_rdev=%lX st_size=%jd st_blksize=%ld st_blocks=%ld)\n",
               name_buf, sb.st_dev, sb.st_ino, sb.st_mode, sb.st_nlink, sb.st_uid, sb.st_gid, sb.st_rdev, sb.st_size, sb.st_blksize, sb.st_blocks );
   }

   fskit_print_tree( stdout, fskit_core_get_root( core ) );

   fskit_test_end( core, &output );

   return 0;
}
コード例 #2
0
ファイル: test-utime.cpp プロジェクト: jaromil/fskit
int main( int argc, char** argv ) {

   struct fskit_core core;
   int rc;
   char name_buf[10];
   struct fskit_file_handle* fh = NULL;
   void* output;

   const struct timeval times[2] = {
      {12345, 67890},
      {23456, 78901}
   };

   rc = fskit_test_begin( &core, NULL );
   if( rc != 0 ) {
      exit(1);
   }

   for( int i = 0; i < 256; i++ ) {

      sprintf(name_buf, "/%d", i );

      fh = fskit_create( &core, name_buf, 0, i, 0644, &rc );

      if( fh == NULL ) {
         fskit_error("fskit_create('%s') rc = %d\n", name_buf, rc );
         exit(1);
      }

      fskit_close( &core, fh );
   }

   for( int i = 0; i < 256; i++ ) {

      sprintf(name_buf, "/%d", i );

      rc = fskit_utimes( &core, name_buf, 0, i, times );

      if( rc != 0 ) {
         fskit_error("fskit_utimes('%s') rc = %d\n", name_buf, rc );
         exit(1);
      }
   }

   fskit_print_tree( stdout, &core.root );

   fskit_test_end( &core, &output );

   return 0;
}
コード例 #3
0
ファイル: test-rename.cpp プロジェクト: jaromil/fskit
int main( int argc, char** argv ) {

   struct fskit_core core;
   int rc;
   char name_buf[10];
   char name_buf2[10];

   struct fskit_file_handle* fh = NULL;
   void* output;

   rc = fskit_test_begin( &core, NULL );
   if( rc != 0 ) {
      exit(1);
   }

   // setup
   for( int i = 0; i < 10; i++ ) {

      // create /a$i

      memset(name_buf, 0, 10 );
      sprintf(name_buf, "/a%d", i );

      fh = fskit_create( &core, name_buf, 0, i, 0644, &rc );

      if( fh == NULL ) {
         fskit_error("fskit_create('%s') rc = %d\n", name_buf, rc );
         exit(1);
      }

      fskit_close( &core, fh );

      // mkdir /d$i

      memset(name_buf, 0, 10 );
      sprintf(name_buf, "/d%d", i );

      rc = fskit_mkdir( &core, name_buf, 0755, 0, 0 );
      if( rc != 0 ) {
         fskit_error("fskit_mkdir('%s') rc = %d\n", name_buf, rc );
         exit(1);
      }
   }

   printf("Initial tree:\n");
   fskit_print_tree( stdout, &core.root );

   // rename in the same directory
   // rename /a$i to /b$i
   for( int i = 0; i < 10; i++ ) {

      memset(name_buf, 0, 10 );
      memset(name_buf2, 0, 10 );

      sprintf(name_buf, "/a%d", i );
      sprintf(name_buf2, "/b%d", i );

      rc = fskit_rename( &core, name_buf, name_buf2, 0, 0 );
      if( rc != 0 ) {
         fskit_error("fskit_rename('%s', '%s') rc = %d\n", name_buf, name_buf2, rc );
         exit(1);
      }
   }

   printf("Rename /a$i to /b$i");
   fskit_print_tree( stdout, &core.root );

   // rename into a deeper directory
   // rename /b$i to /d$i/a$i
   for( int i = 0; i < 10; i++ ) {

      memset(name_buf, 0, 10 );
      memset(name_buf2, 0, 10 );

      sprintf(name_buf, "/b%d", i );
      sprintf(name_buf2, "/d%d/a%d", i, i );

      rc = fskit_rename( &core, name_buf, name_buf2, 0, 0 );
      if( rc != 0 ) {
         fskit_error("fskit_rename('%s', '%s') rc = %d\n", name_buf, name_buf2, rc );
         exit(1);
      }
   }


   printf("Rename /b$i to /d$i/a$i");
   fskit_print_tree( stdout, &core.root );

   // rename into a shallower directory
   // rename /d$i/a$i to /a$i
   for( int i = 0; i < 10; i++ ) {

      memset(name_buf, 0, 10 );
      memset(name_buf2, 0, 10 );

      sprintf(name_buf, "/d%d/a%d", i, i );
      sprintf(name_buf2, "/a%d", i );

      rc = fskit_rename( &core, name_buf, name_buf2, 0, 0 );
      if( rc != 0 ) {
         fskit_error("fskit_rename('%s', '%s') rc = %d\n", name_buf, name_buf2, rc );
         exit(1);
      }
   }

   printf("Rename /d/a$i to /a$i");
   fskit_print_tree( stdout, &core.root );

   fskit_test_end( &core, &output );

   return 0;
}