Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
iso9660.h File Reference
#include "vfs/filesystem.h"
#include "vfs/vnode.h"
#include <type.h>

Go to the source code of this file.

Data Structures

struct  both_u32
 
struct  both_u16
 
struct  iso9660_pvd
 
struct  iso9660_path_table_entry
 
struct  iso9660_dir_time
 
struct  iso9660_dir
 

Macros

#define iOS9660_DIR_FLAG   (1 << 1)
 
#define iOS9660_ASSOCIATED_FILE_FLAG   (1 << 2)
 

Functions

struct iso9660_pvd __attribute__ ((packed))
 
fs_operations_tiso9660_fs_operations (void)
 
vops_file_tiso9660_file_operations (void)
 
vops_lnk_tiso9660_lnk_operations (void)
 
int iso9660_lookup (struct fs_instance *instance, char *path, dentry_ptr parent, dentry_ptr *out)
 
int iso9660_read (vnode_t *vnode, void *buf, size_t len, size_t offset)
 
int iso9660_readlink (vnode_t *vnode, char *buf, size_t len)
 

Variables

uint8_t type
 
char id [5]
 
uint8_t version
 
uint8_t unused1
 
char system_id [32]
 
char volume_id [32]
 
uint8_t unused2 [8]
 
both_u32 volume_space_size
 
uint8_t unused3 [32]
 
both_u16 volume_set_size
 
both_u16 volume_sequence_number
 
both_u16 logical_block_size
 
both_u32 path_table_size
 
uint32_t l_path_table_loc
 
uint32_t opt_l_path_table_loc
 
uint32_t m_path_table_loc
 
uint32_t opt_m_path_table_loc
 
uint8_t root_dir_record [34]
 
char volume_set_id [128]
 
char publisher_id [128]
 
char data_preparer_id [128]
 
char application_id [128]
 
char copyright_file_id [37]
 
char abstract_file_id [37]
 
char bibliographic_file_id [37]
 
char creation_date [17]
 
char modification_date [17]
 
char expiration_date [17]
 
char effective_date [17]
 
uint8_t file_structure_version
 
uint8_t unused4
 
uint8_t application_data [512]
 
uint8_t reserved [653]
 
struct iso9660_path_table_entry __attribute__
 
uint8_t length
 
uint8_t ext_attr_length
 
uint32_t extent_le
 
uint32_t extent_be
 
uint32_t size_le
 
uint32_t size_be
 
uint8_t date [7]
 
uint8_t flags
 
uint8_t file_unit_size
 
uint8_t interleave_gap
 
uint16_t volume_seq_le
 
uint16_t volume_seq_be
 
uint8_t name_len
 
char name []
 

Macro Definition Documentation

◆ iOS9660_ASSOCIATED_FILE_FLAG

#define iOS9660_ASSOCIATED_FILE_FLAG   (1 << 2)

Definition at line 119 of file iso9660.h.

◆ iOS9660_DIR_FLAG

#define iOS9660_DIR_FLAG   (1 << 1)

Definition at line 118 of file iso9660.h.

Referenced by iso9660_lookup().

Function Documentation

◆ __attribute__()

struct iso9660_pvd __attribute__ ( (packed) )

Definition at line 1 of file tcp.h.

◆ iso9660_file_operations()

vops_file_t * iso9660_file_operations ( void )

Definition at line 432 of file iso9660.c.

References _file_ops, and iso9660_read().

Referenced by iso9660_lookup().

◆ iso9660_fs_operations()

fs_operations_t * iso9660_fs_operations ( void )

Definition at line 437 of file iso9660.c.

References _fs_ops, and iso9660_lookup().

Referenced by INIT().

◆ iso9660_lnk_operations()

vops_lnk_t * iso9660_lnk_operations ( void )

Definition at line 442 of file iso9660.c.

References _lnk_ops, and iso9660_readlink().

Referenced by iso9660_lookup().

◆ iso9660_lookup()

◆ iso9660_read()

int iso9660_read ( vnode_t * vnode,
void * buf,
size_t len,
size_t offset )

◆ iso9660_readlink()

int iso9660_readlink ( vnode_t * vnode,
char * buf,
size_t len )

Definition at line 419 of file iso9660.c.

References len, memcopy(), serial2_printf(), strlen(), and vnode::vnode_private.

Referenced by iso9660_lnk_operations().

Variable Documentation

◆ __attribute__

struct iso9660_path_table_entry __attribute__

◆ abstract_file_id

char abstract_file_id[37]

Definition at line 35 of file iso9660.h.

◆ application_data

uint8_t application_data[512]

Definition at line 47 of file iso9660.h.

◆ application_id

char application_id[128]

Definition at line 33 of file iso9660.h.

◆ bibliographic_file_id

char bibliographic_file_id[37]

Definition at line 36 of file iso9660.h.

◆ copyright_file_id

char copyright_file_id[37]

Definition at line 34 of file iso9660.h.

◆ creation_date

char creation_date[17]

Definition at line 39 of file iso9660.h.

◆ data_preparer_id

char data_preparer_id[128]

Definition at line 32 of file iso9660.h.

◆ date

uint8_t date[7]

Definition at line 9 of file iso9660.h.

◆ effective_date

char effective_date[17]

Definition at line 42 of file iso9660.h.

◆ expiration_date

char expiration_date[17]

Definition at line 41 of file iso9660.h.

◆ ext_attr_length

uint8_t ext_attr_length

Definition at line 1 of file iso9660.h.

◆ extent_be

uint32_t extent_be

Definition at line 4 of file iso9660.h.

◆ extent_le

uint32_t extent_le

Definition at line 3 of file iso9660.h.

◆ file_structure_version

uint8_t file_structure_version

Definition at line 44 of file iso9660.h.

◆ file_unit_size

uint8_t file_unit_size

Definition at line 13 of file iso9660.h.

◆ flags

uint8_t flags

Definition at line 11 of file iso9660.h.

◆ id

char id[5]

Definition at line 1 of file iso9660.h.

◆ interleave_gap

uint8_t interleave_gap

Definition at line 14 of file iso9660.h.

◆ l_path_table_loc

uint32_t l_path_table_loc

Definition at line 20 of file iso9660.h.

◆ length

uint8_t length

Definition at line 0 of file iso9660.h.

◆ logical_block_size

both_u16 logical_block_size

Definition at line 16 of file iso9660.h.

◆ m_path_table_loc

uint32_t m_path_table_loc

Definition at line 22 of file iso9660.h.

◆ modification_date

char modification_date[17]

Definition at line 40 of file iso9660.h.

◆ name

char name[]

Definition at line 21 of file iso9660.h.

◆ name_len

◆ opt_l_path_table_loc

uint32_t opt_l_path_table_loc

Definition at line 21 of file iso9660.h.

◆ opt_m_path_table_loc

uint32_t opt_m_path_table_loc

Definition at line 23 of file iso9660.h.

◆ path_table_size

both_u32 path_table_size

Definition at line 18 of file iso9660.h.

◆ publisher_id

char publisher_id[128]

Definition at line 31 of file iso9660.h.

◆ reserved

uint8_t reserved[653]

Definition at line 48 of file iso9660.h.

◆ root_dir_record

uint8_t root_dir_record[34]

Definition at line 28 of file iso9660.h.

◆ size_be

uint32_t size_be

Definition at line 7 of file iso9660.h.

◆ size_le

uint32_t size_le

Definition at line 6 of file iso9660.h.

◆ system_id

char system_id[32]

Definition at line 5 of file iso9660.h.

◆ type

uint8_t type

Definition at line 0 of file iso9660.h.

◆ unused1

uint8_t unused1

Definition at line 3 of file iso9660.h.

◆ unused2

uint8_t unused2[8]

Definition at line 8 of file iso9660.h.

◆ unused3

uint8_t unused3[32]

Definition at line 12 of file iso9660.h.

◆ unused4

uint8_t unused4

Definition at line 45 of file iso9660.h.

◆ version

uint8_t version

Definition at line 2 of file iso9660.h.

◆ volume_id

char volume_id[32]

Definition at line 6 of file iso9660.h.

◆ volume_seq_be

uint16_t volume_seq_be

Definition at line 17 of file iso9660.h.

◆ volume_seq_le

uint16_t volume_seq_le

Definition at line 16 of file iso9660.h.

◆ volume_sequence_number

both_u16 volume_sequence_number

Definition at line 15 of file iso9660.h.

◆ volume_set_id

char volume_set_id[128]

Definition at line 30 of file iso9660.h.

◆ volume_set_size

both_u16 volume_set_size

Definition at line 14 of file iso9660.h.

◆ volume_space_size

both_u32 volume_space_size

Definition at line 10 of file iso9660.h.