Sugiro a seção 2. Considere, por exemplo, a chamada do sistema open
- na verdade, o wrapper da função da biblioteca C sobre a chamada do sistema open
- que está documentado apenas na seção 2.
Para um exercício na universidade, somos solicitados a estender o Minix (v2) com uma chamada de sistema utctime
que calcula corretamente os segundos bissextos (que a implementação do Minix ' time
não faz).
Criamos uma nova chamada de sistema e criamos uma nova função de biblioteca que envolve essa chamada de sistema que foi adicionada a <time.h>
.
Agora, gostaríamos de adicionar uma página de manual para utctime
. No entanto, time
tem uma página do manual na seção 2 (chamadas do sistema), bem como a seção 3 (chamadas da biblioteca).
Devemos adicionar o utctime
a ambos? Ou apenas para 2
porque não é uma chamada de biblioteca C padronizada?
Se a função estiver no próprio kernel, não em uma biblioteca C do userspace, coloque-a na seção 2.
A seção 3 não é apenas para as funções da libc, elas podem ser outras bibliotecas que fornecem sub-rotinas de sistema operacional de baixo nível que não fazem parte do kernel. Por exemplo, as páginas de manual da função PAM são armazenadas na seção 3.
Neste caso, se você tiver uma chamada de sistema do kernel e uma função de biblioteca, coloque a página de manual para a chamada de sistema na seção 2 e a página de manual para a função de biblioteca na seção 3.