Esta função abre um dispositivo de bloco através de seu nome. O nome do dispositivo segue o padrão Linux . Depois que o dispositivo é aberto, o objeto do tipo oskit_blkio_t é preenchido e pode ser utilizado para referenciar o dispositivo aberto. As versões simples e intermediária do BananaKernel utilizam apenas o primeiro disco IDE encontrado pela varredura inicial, ou seja, o disco "hda".
As duas funções de leitura/escrita (oskit_blkio_read/oskit_blkio_write) funcionam de modo muito parecido com as funções de leitura/escrita de arquivos da linguagem C. Ambas recebem um ponteiro para a estrutura do dispositivo (previamente incializada com oskit_linux_block_open), um buffer com os dados que serão lidos/escritos, a quantidade de dados que devem ser lidos/escritos e um ponteiro para uma variável que receberá a quantidade de bytes realmente lidos/escritos.
Com relação ao tamanho e as proporções do dispositivo, existem duas funções:
Retorna o tamanho em bytes de cada setor no dispositivo. Este tamanho é muito utilizado para realizar operações de leitura/escrita, pois tais operações só podem ser realizadas em tamanhos múltiplos do tamanho do setor. Assim, cada operação de leitura/escrita deve ajustar o tamanho a ser lido/escrito para que a operação trabalhe apenas com múltiplos do tamanho do setor.
Retorna, em bytes , o tamanho total disponível no dispositivo.
Todas as funções do sistema de arquivos (versões simples e intermediária) foram implementadas com as funções apresentadas acima. Para informações mais detalhadas sobre estas e outras funções relacionadas, o leitor pode consultar a documentação completa do OSKit , [The Flux Research Group, 2002], capítulos 7 e 43.