|
XenevaOS
|
#include <Fs/vdisk.h>#include <Fs/_gpt.h>#include <Mm/kmalloc.h>#include <_null.h>#include <aucon.h>#include <Hal\serial.h>#include <Mm/pmmngr.h>#include <Hal/x86_64_hal.h>#include <string.h>#include <stdio.h>#include <Fs/Fat/fat.h>#include <Fs/Dev/devfs.h>
Functions | |
| void | AuVDiskInitialise () |
| AuVDiskInitialise – initialise the vdisk. | |
| AU_EXTERN AU_EXPORT int | AuVDiskCreateStorageFile (char *output) |
| AuVDiskCreateStorageFile – creates a storage directory in device file system. | |
| uint8_t | AuVDiskGetIndex () |
| AuVDiskGetIndex – returns a vdisk index. | |
| AuVDisk * | AuCreateVDisk () |
| AuCreateVDisk – creates a vdisk and return to the caller. | |
| size_t | AuVDiskRead (AuVDisk *disk, uint64_t lba, uint32_t count, uint64_t *buffer) |
| AuVDiskRead – reads a disk block from registered disk. | |
| size_t | AuVDiskWrite (AuVDisk *disk, uint64_t lba, uint32_t count, uint64_t *buffer) |
| AuVDiskWrite – reads a disk block from registered disk. | |
| void | AuVDiskRegisterPartition (AuVDisk *vdisk) |
| void | AuVDiskRegister (AuVDisk *disk) |
| AuVDiskRegister – adds a vdisk service to the list. | |
| 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. | |
| AuVDisk * | AuGetVDisk (int vdisk_idx) |
| AuGetVDisk – get a vdisk from the vdisk array. | |
Variables | |
| AuVDisk * | VdiskArray [MAX_VDISK_DEVICES] |
| int | _vdisk_num_ |
| AuVDisk * AuCreateVDisk | ( | ) |
AuCreateVDisk – creates a vdisk and return to the caller.
| AuVDisk * AuGetVDisk | ( | int | vdisk_idx | ) |
AuGetVDisk – get a vdisk from the vdisk array.
| vdisk_idx | – virtual disk index |
| int AuGetVDiskInfo | ( | uint8_t | vdiskID, |
| void * | buffer | ||
| ) |
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 |
| void AuVDiskDestroy | ( | AuVDisk * | vdisk | ) |
AuVDiskDestroy – destroy's a vdisk.
| vdisk | – pointer to vdisk |
| uint8_t AuVDiskGetIndex | ( | ) |
AuVDiskGetIndex – returns a vdisk index.
| void AuVDiskInitialise | ( | ) |
AuVDiskInitialise – initialise the vdisk.
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 |
| void AuVDiskRegister | ( | AuVDisk * | disk | ) |
AuVDiskRegister – adds a vdisk service to the list.
| disk | – disk to add |
| void AuVDiskRegisterPartition | ( | AuVDisk * | vdisk | ) |
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 |
| int _vdisk_num_ |
| AuVDisk* VdiskArray[MAX_VDISK_DEVICES] |
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.