OpenCPN Partial API docs
Loading...
Searching...
No Matches
zuFile.h File Reference

Unified Compressed File Access System. More...

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <zlib.h>
#include <bzlib.h>

Go to the source code of this file.

Classes

struct  ZUFILE
 

Macros

#define ZU_COMPRESS_AUTO   -1
 
#define ZU_COMPRESS_NONE   0
 
#define ZU_COMPRESS_GZIP   1
 
#define ZU_COMPRESS_BZIP   2
 
#define ZU_BUFREADSIZE   256000
 

Functions

ZUFILEzu_open (const char *fname, const char *mode, int type=ZU_COMPRESS_AUTO)
 
int zu_close (ZUFILE *f)
 
int zu_can_read_file (const char *fname)
 
int zu_read (ZUFILE *f, void *buf, long len)
 
long zu_tell (ZUFILE *f)
 
int zu_seek (ZUFILE *f, long offset, int whence)
 
void zu_rewind (ZUFILE *f)
 
long zu_filesize (ZUFILE *f)
 
int zu_bzSeekForward (ZUFILE *f, unsigned long nbytes)
 

Detailed Description

Unified Compressed File Access System.

Provides a consistent interface for reading both compressed and uncompressed GRIB files with support for:

  • Uncompressed files
  • GZIP compression (.gz)
  • BZIP2 compression (.bz2)

Features:

  • Transparent compression detection
  • Unified file operations (open, read, seek, tell)
  • Large file support
  • Buffered reading for performance
  • Error handling and validation

This system allows the GRIB plugin to work seamlessly with compressed weather data files while handling the complexities of different compression formats internally.

Definition in file zuFile.h.

Macro Definition Documentation

◆ ZU_BUFREADSIZE

#define ZU_BUFREADSIZE   256000

Definition at line 61 of file zuFile.h.

◆ ZU_COMPRESS_AUTO

#define ZU_COMPRESS_AUTO   -1

Definition at line 56 of file zuFile.h.

◆ ZU_COMPRESS_BZIP

#define ZU_COMPRESS_BZIP   2

Definition at line 59 of file zuFile.h.

◆ ZU_COMPRESS_GZIP

#define ZU_COMPRESS_GZIP   1

Definition at line 58 of file zuFile.h.

◆ ZU_COMPRESS_NONE

#define ZU_COMPRESS_NONE   0

Definition at line 57 of file zuFile.h.

Function Documentation

◆ zu_bzSeekForward()

int zu_bzSeekForward ( ZUFILE f,
unsigned long  nbytes 
)

Definition at line 218 of file zuFile.cpp.

◆ zu_can_read_file()

int zu_can_read_file ( const char *  fname)

Definition at line 25 of file zuFile.cpp.

◆ zu_close()

int zu_close ( ZUFILE f)

Definition at line 128 of file zuFile.cpp.

◆ zu_filesize()

long zu_filesize ( ZUFILE f)

Definition at line 159 of file zuFile.cpp.

◆ zu_open()

ZUFILE * zu_open ( const char *  fname,
const char *  mode,
int  type = ZU_COMPRESS_AUTO 
)

Definition at line 37 of file zuFile.cpp.

◆ zu_read()

int zu_read ( ZUFILE f,
void *  buf,
long  len 
)

Definition at line 109 of file zuFile.cpp.

◆ zu_rewind()

void zu_rewind ( ZUFILE f)

Definition at line 241 of file zuFile.cpp.

◆ zu_seek()

int zu_seek ( ZUFILE f,
long  offset,
int  whence 
)

Definition at line 171 of file zuFile.cpp.

◆ zu_tell()

long zu_tell ( ZUFILE f)

Definition at line 156 of file zuFile.cpp.