Skip to content

File SolidSyslogBlockDevice.h

File List > Core > Interface > SolidSyslogBlockDevice.h

Go to the documentation of this file

#ifndef SOLIDSYSLOGBLOCKDEVICE_H
#define SOLIDSYSLOGBLOCKDEVICE_H

#include "ExternC.h"
#include <stdbool.h>
#include <stddef.h>

EXTERN_C_BEGIN

    struct SolidSyslogBlockDevice;

    bool SolidSyslogBlockDevice_Acquire(struct SolidSyslogBlockDevice * device, size_t blockIndex);

    bool SolidSyslogBlockDevice_Dispose(struct SolidSyslogBlockDevice * device, size_t blockIndex);

    bool SolidSyslogBlockDevice_Exists(struct SolidSyslogBlockDevice * device, size_t blockIndex);

    bool SolidSyslogBlockDevice_Read(
        struct SolidSyslogBlockDevice * device,
        size_t blockIndex,
        size_t offset,
        void* buf,
        size_t count
    );

    bool SolidSyslogBlockDevice_Append(
        struct SolidSyslogBlockDevice * device,
        size_t blockIndex,
        const void* buf,
        size_t count
    );

    bool SolidSyslogBlockDevice_WriteAt(
        struct SolidSyslogBlockDevice * device,
        size_t blockIndex,
        size_t offset,
        const void* buf,
        size_t count
    );

    size_t SolidSyslogBlockDevice_Size(struct SolidSyslogBlockDevice * device, size_t blockIndex);

    size_t SolidSyslogBlockDevice_GetBlockSize(struct SolidSyslogBlockDevice * device);

EXTERN_C_END

#endif /* SOLIDSYSLOGBLOCKDEVICE_H */