#ifndef COMPOUND_FILE_DIRECTORY_H
#define COMPOUND_FILE_DIRECTORY_H
#include "emb-time.h"
#include "emb-file.h"
#include "api-start.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _bcf_directory_entry
{
char directoryEntryName[32];
unsigned short directoryEntryNameLength;
unsigned char objectType;
unsigned char colorFlag;
unsigned int leftSiblingId;
unsigned int rightSiblingId;
unsigned int childId;
unsigned char CLSID[16];
unsigned int stateBits;
EmbTime creationTime;
EmbTime modifiedTime;
unsigned int startingSectorLocation;
unsigned long streamSize;
unsigned int streamSizeHigh;
struct _bcf_directory_entry* next;
} bcf_directory_entry;
typedef struct _bcf_directory
{
bcf_directory_entry* dirEntries;
unsigned int maxNumberOfDirectoryEntries;
} bcf_directory;
extern EMB_PRIVATE bcf_directory_entry* EMB_CALL CompoundFileDirectoryEntry(EmbFile* file);
extern EMB_PRIVATE bcf_directory* EMB_CALL CompoundFileDirectory(const unsigned int maxNumberOfDirectoryEntries);
extern EMB_PRIVATE void EMB_CALL readNextSector(EmbFile* file, bcf_directory* dir);
extern EMB_PRIVATE void EMB_CALL bcf_directory_free(bcf_directory* dir);
#ifdef __cplusplus
}
#endif
#include "api-stop.h"
#endif