Newer
Older
invertedlogic / invertedlogic / iLPlatform / iLFile.inl
@John Ryland John Ryland on 9 May 2015 970 bytes

static inline iLResult iLFile_Open(iLFile* a_file, const char* a_fileName, const char* mode)
{
  a_file = fopen(a_fileName, mode);
  return iLR_OK;
}


static inline iLResult iLFile_Close(iLFile* a_file)
{
  fclose(a_file);
  return iLR_OK;
}


static inline iLResult iLFile_Read(iLFile* a_file, uint8_t* a_buffer, uint32_t a_length)
{
  fread(a_buffer, a_length, 1, a_file);
  return iLR_OK;
}


static inline iLResult iLFile_Write(iLFile* a_file, uint8_t* a_buffer, uint32_t a_length)
{
  fwrite(a_buffer, a_length, 1, a_file);
  return iLR_OK;
}


static inline iLResult iLFile_SetPosition(iLFile* a_file, uint64_t a_pos)
{
  return iLR_OK;
}


static inline iLResult iLFile_GetPosition(iLFile* a_file, uint64_t* a_pos)
{
  return iLR_OK;
}


static inline iLResult iLFile_Size(iLFile* a_file, uint64_t* a_size)
{
  uint64_t curPos = ftello(a_file);
  fseeko(a_file, 0, SEEK_END);
  *a_size = ftello(a_file);
  fseeko(a_file, curPos, SEEK_SET);
  return iLR_OK;
}