- Main Page
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

# mscabd_cabinet Struct Reference

A structure which represents a single cabinet file. More...

`#include <mspack.h>`

## Data Fields
mscabd_cabinet * | next
| The next cabinet in a chained list, if this cabinet was opened with mscab_decompressor::search().
char * | filename
| The filename of the cabinet.
off_t | base_offset
| The file offset of cabinet within the physical file it resides in.
unsigned int | length
| The length of the cabinet file in bytes.
mscabd_cabinet * | prevcab
| The previous cabinet in a cabinet set, or NULL.
mscabd_cabinet * | nextcab
| The next cabinet in a cabinet set, or NULL.
char * | prevname
| The filename of the previous cabinet in a cabinet set, or NULL.
char * | nextname
| The filename of the next cabinet in a cabinet set, or NULL.
char * | previnfo
| The name of the disk containing the previous cabinet in a cabinet set, or NULL.
char * | nextinfo
| The name of the disk containing the next cabinet in a cabinet set, or NULL.
mscabd_file * | files
| A list of all files in the cabinet or cabinet set.
mscabd_folder * | folders
| A list of all folders in the cabinet or cabinet set.
unsigned short | set_id
| The set ID of the cabinet.
unsigned short | set_index
| The index number of the cabinet within the set.
unsigned short | header_resv
| The number of bytes reserved in the header area of the cabinet.
int | flags
| Header flags.

## Detailed Description

A structure which represents a single cabinet file.

All fields are READ ONLY.

If this cabinet is part of a merged cabinet set, the files and folders fields are common to all cabinets in the set, and will be identical.

See also:
  mscab_decompressor::open(), mscab_decompressor::close(), mscab_decompressor::search()

## Field Documentation

off_t mscabd_cabinet::base_offset

| The file offset of cabinet within the physical file it resides in.

char* mscabd_cabinet::filename

| The filename of the cabinet. More correctly, the filename of the physical file that the cabinet resides in. This is given by the library user and may be in any format.

struct mscabd_file* mscabd_cabinet::files

| A list of all files in the cabinet or cabinet set.

int mscabd_cabinet::flags

| Header flags. MSCAB_HDR_PREVCAB indicates the cabinet is part of a cabinet set, and has a predecessor cabinet. MSCAB_HDR_NEXTCAB indicates the cabinet is part of a cabinet set, and has a successor cabinet. MSCAB_HDR_RESV indicates the cabinet has reserved header space. See also: prevname, previnfo, nextname, nextinfo, header_resv

struct mscabd_folder* mscabd_cabinet::folders

| A list of all folders in the cabinet or cabinet set.

unsigned short mscabd_cabinet::header_resv

| The number of bytes reserved in the header area of the cabinet. If this is non-zero and flags has MSCAB_HDR_RESV set, this data can be read by the calling application. It is of the given length, located at offset (base_offset + MSCAB_HDR_RESV_OFFSET) in the cabinet file. See also: flags

unsigned int mscabd_cabinet::length

| The length of the cabinet file in bytes.

struct mscabd_cabinet* mscabd_cabinet::next

| The next cabinet in a chained list, if this cabinet was opened with mscab_decompressor::search(). May be NULL to mark the end of the list.

struct mscabd_cabinet* mscabd_cabinet::nextcab

| The next cabinet in a cabinet set, or NULL.

char* mscabd_cabinet::nextinfo

| The name of the disk containing the next cabinet in a cabinet set, or NULL.

char* mscabd_cabinet::nextname

| The filename of the next cabinet in a cabinet set, or NULL.

struct mscabd_cabinet* mscabd_cabinet::prevcab

| The previous cabinet in a cabinet set, or NULL.

char* mscabd_cabinet::previnfo

| The name of the disk containing the previous cabinet in a cabinet set, or NULL.

char* mscabd_cabinet::prevname

| The filename of the previous cabinet in a cabinet set, or NULL.

unsigned short mscabd_cabinet::set_id

| The set ID of the cabinet. All cabinets in the same set should have the same set ID.

unsigned short mscabd_cabinet::set_index

| The index number of the cabinet within the set. Numbering should start from 0 for the first cabinet in the set, and increment by 1 for each following cabinet.

The documentation for this struct was generated from the following file:

- /home/kyz/devel/libmspack/libmspack/mspack/mspack.h