void imBinSystemFileHandle::New(const char* pFileName) { // the file was successfully opened already the client HANDLE file_handle = (HANDLE)pFileName; this->FileHandle = file_handle; InitByteOrder(imBinCPUByteOrder()); this->IsNew = 1; this->Error = 0; }
void imBinSystemFile::New(const char* pFileName) { this->FileHandle = CreateFile(pFileName, GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); this->Error = (this->FileHandle == INVALID_HANDLE_VALUE)? 1: 0; SetLastError(NO_ERROR); InitByteOrder(imBinCPUByteOrder()); this->IsNew = 1; }
void imBinSystemFile::Open(const char* pFileName) { this->FileHandle = CreateFile(pFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); this->Error = (this->FileHandle == INVALID_HANDLE_VALUE)? 1: 0; SetLastError(NO_ERROR); InitByteOrder(imBinCPUByteOrder()); this->IsNew = 0; }
static void dump(int fd, uint32 diroff) { unsigned i; lseek(fd, (off_t) 0, 0); if (read(fd, (char*) &hdr, sizeof (hdr)) != sizeof (hdr)) ReadError("TIFF header"); /* * Setup the byte order handling. */ if (hdr.tiff_magic != TIFF_BIGENDIAN && hdr.tiff_magic != TIFF_LITTLEENDIAN) Fatal("Not a TIFF file, bad magic number %u (%#x)", hdr.tiff_magic, hdr.tiff_magic); InitByteOrder(hdr.tiff_magic); /* * Swap header if required. */ if (swabflag) { TIFFSwabShort(&hdr.tiff_version); TIFFSwabLong(&hdr.tiff_diroff); } /* * Now check version (if needed, it's been byte-swapped). * Note that this isn't actually a version number, it's a * magic number that doesn't change (stupid). */ if (hdr.tiff_version != TIFF_VERSION) Fatal("Not a TIFF file, bad version number %u (%#x)", hdr.tiff_version, hdr.tiff_version); printf("Magic: %#x <%s-endian> Version: %#x\n", hdr.tiff_magic, hdr.tiff_magic == TIFF_BIGENDIAN ? "big" : "little", hdr.tiff_version); if (diroff == 0) diroff = hdr.tiff_diroff; for (i = 0; diroff != 0; i++) { if (i > 0) putchar('\n'); diroff = ReadDirectory(fd, i, diroff); } }