GATE
storagedrives.h File Reference

physical storage drive info and access utilities More...

Classes

struct  gate_storagedrive
 

Macros

#define GATE_STORAGEDRIVE_TYPE_ALL   0x0000
 
#define GATE_STORAGEDRIVE_TYPE_STANDARD   0x0001
 
#define GATE_STORAGEDRIVE_TYPE_ROM   0x0002
 
#define GATE_STORAGEDRIVE_TYPE_REMOVABLE   0x0004
 
#define GATE_STORAGEDRIVE_TYPE_VIRTUAL   0x0008
 
#define GATE_STORAGEDRIVE_PATH   0x0001
 
#define GATE_STORAGEDRIVE_UID   0x0002
 
#define GATE_STORAGEDRIVE_NAME   0x0004
 
#define GATE_STORAGEDRIVE_DEVICEPATH   0x0008
 
#define GATE_STORAGEDRIVE_ATTRIBTYPE_SMART   (0x0100)
 
#define GATE_STORAGEDRIVE_ATTRIBINDEX_SMART_ID   0
 
#define GATE_STORAGEDRIVE_ATTRIBINDEX_SMART_VALUE   1
 
#define GATE_STORAGEDRIVE_ATTRIBINDEX_SMART_WORST   2
 
#define GATE_STORAGEDRIVE_ATTRIBINDEX_SMART_RAW   3
 
#define GATE_STORAGEDRIVE_ATTRIBINDEX_SMART_THRESHOLD   4
 
#define GATE_STORAGEDRIVE_ATTRIBINDEX_SMART_DIRECTION   5
 

Typedefs

typedef struct gate_storagedrive gate_storagedrive_t
 
typedef gate_bool_t(* gate_storagedrive_enum_callback_t) (gate_storagedrive_t const *drive, void *user_param)
 
typedef gate_bool_t(* gate_storagedrive_attribs_callback_t) (gate_storagedrive_t const *drive, gate_enumint_t attrib_type, gate_int64_t const *values, gate_size_t values_count, char const *const *texts, gate_size_t texts_count, void *user_param)
 

Functions

GATE_SYSTEM_API gate_result_t gate_storagedrive_enum (gate_enumint_t drivetype, gate_storagedrive_enum_callback_t callback, void *user_param)
 
GATE_SYSTEM_API gate_result_t gate_storagedrive_openstream (gate_storagedrive_t const *drive, gate_enumint_t open_flags, gate_controlstream_t **stream)
 
GATE_SYSTEM_API gate_result_t gate_storagedrive_find (gate_string_t const *field, gate_uint32_t field_type, gate_storagedrive_t *drive)
 
GATE_SYSTEM_API gate_result_t gate_storagedrive_queryattribs (gate_storagedrive_t const *drive, gate_enumint_t attrib_type, gate_storagedrive_attribs_callback_t callback, void *user_param)
 

Detailed Description

physical storage drive info and access utilities

Macro Definition Documentation

◆ GATE_STORAGEDRIVE_TYPE_ALL

#define GATE_STORAGEDRIVE_TYPE_ALL   0x0000

for enum only: return all types

◆ GATE_STORAGEDRIVE_TYPE_REMOVABLE

#define GATE_STORAGEDRIVE_TYPE_REMOVABLE   0x0004

Removable storage: Floppy, flash drives, MMC

◆ GATE_STORAGEDRIVE_TYPE_ROM

#define GATE_STORAGEDRIVE_TYPE_ROM   0x0002

Read-Only drive, CD-ROM, DVD-ROM, BluRay

◆ GATE_STORAGEDRIVE_TYPE_STANDARD

#define GATE_STORAGEDRIVE_TYPE_STANDARD   0x0001

Standard drive, hard disk, flash drive

◆ GATE_STORAGEDRIVE_TYPE_VIRTUAL

#define GATE_STORAGEDRIVE_TYPE_VIRTUAL   0x0008

Virtual storage: RAM-disk, emulation