Exemple #1
0
int main(int argc, char const *argv[])
{
	unsigned int i;
	unsigned int inumber;

	if (argc < 2) {
		printf("Usage : if_delete [inumber] -> supprimer l'inode de numero [inumber] et renvoi OK ou KO\n");
		return EXIT_FAILURE;
	}

  /* init hardware */
  if(init_hardware("hardware.ini") == 0) {
    fprintf(stderr, "Error in hardware initialization\n");
    exit(EXIT_FAILURE);
  }

  /* Interreupt handlers */
  for(i=0; i<16; i++) {
    IRQVECTOR[i] = empty_it;
  }

  /* Allows all IT */
  _mask(1);

  printf("Loading Master Boot Record...\n");
  load_mbr();

  	load_super(0);

  	inumber = atoi(argv[1]);

  	delete_ifile(inumber, 0);

  	return EXIT_SUCCESS;
}
Exemple #2
0
int del_entry(int idir, const char* name) {
    int ret;    
    struct entry_s entry;
    file_desc_t fd;

    open_ifile(&fd, idir);

    ret = find_entry(&fd, name);

    if(ret < 0) {
        return -1;
    }

    seek2_ifile(&fd, ret*sizeof(struct entry_s));

    if(read_ifile(&fd, &entry, sizeof(struct entry_s)) <= 0) {
        return -1;
    }

    delete_ifile(entry.inumber);

    entry.inumber = 0;

    seek2_ifile(&fd, ret*sizeof(struct entry_s));

    if(write_ifile(&fd, &entry, sizeof(struct entry_s)) <= 0) {
        return -1;
    }

    close_ifile(&fd);

    return 0;
}