• [^] # Re: Tout est possible

    Posté par . En réponse au message Kernel linux. Évalué à 4.

    Alors ... si l'évocation de l'API te laisse un peu "sec", tu risques quand même de passer de mauvais moments dans les jours à venir si tu te lances sur ce chantier.

    En gros, il faut ne faut pas voir le noyau comme un gros programme monolithique, mais plutôt comme un gros programme décomposé en sous-systèmes indépendants mais communiquant les uns avec les autres.

    Typiquement, lorsque, en user-land, tu ouvres une connection TCP/IP via socket(), connect() et leurs copains, cela déclenche, via les syscall (qui sont standardisés) une multitude d'opération dans les différents sous-systèmes du noyau dont celui en charge de gérer le protocole IP.
    Fatalement, il a fallu à un moment établir un langage commun pour que chaque sous sytème du noyau sois en mesure de communiquer avec la stack IP. C'est ce "langage commun" que l'on nomme communément API

    Le plus simple pour avoir un aperçu de l'API est de regarder les headers concernés.
    Un bon point de départ est de jeter un oeil au source du noyau et en particulier au header dans include/net/ip.h