|
XenevaOS
|


Go to the source code of this file.
Classes | |
| struct | _au_partition_data_ |
| struct | _VDISK_ |
| struct | _vdisk_info_ |
| struct | _vdisk_partition_info_ |
Macros | |
| #define | MAX_VDISK_DEVICES 26 |
| #define | MAX_PARTITION_PER_DISK 128 |
Typedefs | |
| typedef int(* | vdisk_read) (struct _VDISK_ *disk, uint64_t lba, uint32_t count, uint64_t *buffer) |
| typedef int(* | vdisk_write) (struct _VDISK_ *disk, uint64_t lba, uint32_t count, uint64_t *buffer) |
| typedef struct _au_partition_data_ | AuPartitionData |
| typedef struct _VDISK_ | AuVDisk |
| typedef struct _vdisk_info_ | AuVDiskInfo |
| typedef struct _vdisk_partition_info_ | AuVDiskPartitionInfo |
Functions | |
| void | AuVDiskInitialise () |
| AuVDiskInitialise – initialise the vdisk. | |
| AU_EXTERN AU_EXPORT uint8_t | AuVDiskGetIndex () |
| AuVDiskGetIndex – returns a vdisk index. | |
| AU_EXTERN AU_EXPORT void | AuVDiskRegister (AuVDisk *disk) |
| AuVDiskRegister – adds a vdisk service to the list. | |
| AU_EXTERN AU_EXPORT AuVDisk * | AuCreateVDisk () |
| AuCreateVDisk – creates a vdisk and return to the caller. | |
| AU_EXTERN AU_EXPORT size_t | AuVDiskRead (AuVDisk *disk, uint64_t lba, uint32_t count, uint64_t *buffer) |
| AuVDiskRead – reads a disk block from registered disk. | |
| AU_EXTERN AU_EXPORT size_t | AuVDiskWrite (AuVDisk *disk, uint64_t lba, uint32_t count, uint64_t *buffer) |
| AuVDiskWrite – reads a disk block from registered disk. | |
| AU_EXTERN AU_EXPORT void | AuVDiskDestroy (AuVDisk *vdisk) |
| AuVDiskDestroy – destroy's a vdisk. | |
| int | AuGetVDiskInfo (uint8_t vdiskID, void *buffer) |
| AuGetVDiskInfo – returns virtual disk information to application. | |
| int | AuGetVDiskPartitionInfo (uint8_t vdiskID, uint8_t partition_ID, void *buffer) |
| AuGetVDiskPartitionInfo – get partition information from desired virtual disk. | |
| AU_EXTERN AU_EXPORT int | AuVDiskCreateStorageFile (char *output) |
| AuVDiskCreateStorageFile – creates a storage directory in device file system. | |
| AU_EXTERN AU_EXPORT AuVDisk * | AuGetVDisk (int vdisk_idx) |
| AuGetVDisk – get a vdisk from the vdisk array. | |
BSD 2-Clause License
Copyright (c) 2022-2023, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| #define MAX_PARTITION_PER_DISK 128 |
| #define MAX_VDISK_DEVICES 26 |
| typedef struct _au_partition_data_ AuPartitionData |
| typedef struct _vdisk_info_ AuVDiskInfo |
| typedef struct _vdisk_partition_info_ AuVDiskPartitionInfo |
AuCreateVDisk – creates a vdisk and return to the caller.
AuGetVDisk – get a vdisk from the vdisk array.
| vdisk_idx | – virtual disk index |
|
extern |
AuGetVDiskInfo – returns virtual disk information to application.
| vdiskID | – id of vdisk |
| buffer | – Pointer to memory where to store the information |
AuGetVDiskPartitionInfo – get partition information from desired virtual disk.
| vdiskID | – virtual disk identifier |
| partitionID | – partition number |
| buffer | – memory pointer where to store the information |
AuVDiskCreateStorageFile – creates a storage directory in device file system.
| output | – Pointer to memory where to store composite string value |
AuVDiskDestroy – destroy's a vdisk.
| vdisk | – pointer to vdisk |
|
extern |
AuVDiskInitialise – initialise the vdisk.
| AU_EXTERN AU_EXPORT size_t AuVDiskRead | ( | AuVDisk * | disk, |
| uint64_t | lba, | ||
| uint32_t | count, | ||
| uint64_t * | buffer | ||
| ) |
AuVDiskRead – reads a disk block from registered disk.
| disk | – Pointer to vdsik structure |
| lba | – Linear block address to read |
| count | – number of blocks to read |
| buffer | – Buffer, where to store the data |
AuVDiskRegister – adds a vdisk service to the list.
| disk | – disk to add |
| AU_EXTERN AU_EXPORT size_t AuVDiskWrite | ( | AuVDisk * | disk, |
| uint64_t | lba, | ||
| uint32_t | count, | ||
| uint64_t * | buffer | ||
| ) |
AuVDiskWrite – reads a disk block from registered disk.
| disk | – Pointer to vdsik structure |
| lba | – Linear block address to read |
| count | – number of blocks to read |
| buffer | – Buffer, where to store the data |