Serviço De Kernel Geteblk
Propósito
Aloca um buffer livre.
Sintaxe
#include <sys/types.h>
#include <sys/errno.h>
#include <sys/buf.h> struct buf *geteblk ( )Descrição
O serviço kernel geteblk aloca um cabeçalho de buffer e buffer e retorna o endereço do cabeçalho de buffer. Se nenhum buffers grátis estiver disponível, então o serviço geteblk espera que um se torne disponível. Drivers de dispositivo de bloco podem recuperar buffers usando o serviço geteblk .
No cabeçalho, ob_forw,b_back,b_flags,b_bcount,b_deveb_unos campos são utilizados pelo sistema e não podem ser modificados pelo condutor. Os comandosav_forweav_backos campos estão disponíveis para o usuário do serviço geteblk para manter uma cadeia de buffers pelo usuário do serviço geteblk . (Este usuário poderia ser o sistema de arquivos do kernel ou um driver de dispositivo.) Os comandosb_blknoeb_residos campos podem ser usados para qualquer finalidade.
O serviço brelse é usado para liberar este tipo de buffer.
O serviço geteblk não possui parâmetros.
Ambiente de Execução
O serviço kernel geteblk pode ser chamado apenas do ambiente de processo.
Valores De Retorno
O serviço geteblk retorna um ponteiro para o cabeçalho de buffer. Não há códigos de erro porque o serviço geteblk aguarda até que um cabeçalho de buffer se torne disponível.
Em uma plataforma que suporta chaves de armazenamento, o cabeçalho de buffer é alocado a partir do armazenamento protegido pela chave de kernel KKEY_BLOCK_DEV .