C'est-à-dire comment savez-vous P>
Combien de paramètres un syscall spécifique s'attend à, P>
qui enregistre chaque paramètre doit être dans, p>
et enfin ce que chaque paramètre signifie? p>
Y a-t-il une commande code> man code> pour vous dire que? p>
3 Réponses :
Il n'y a pas de manuel pour les appels de système que je connais, c'est quelque chose que vous devez creuser dans le code source pour.
Ce fichier d'en-tête est utile, car il y a de nombreux appels système prototypés avec des arguments: p>
Il contient des définitions, telles que: p> le syscalls arc Le fichier d'en-tête a le reste des appels système, celui qui dépend de l'arc dépendant: p> (Celles-ci Les fichiers sont à partir de 2.6.32 - Les versions antérieures / ultérieures des noyaux peuvent avoir différents noms de fichiers / répertoires). P> Gardez à l'esprit que les internes du noyau Linux changent assez souvent, et il n'y a pas de Un grand nombre d'efforts mettent à maintenir un abi stable entre les principales versions du noyau. Donc, vous devrez examiner le code source du noyau du noyau que vous utilisez actuellement et ne vous attendez pas à ce qu'il compilait automatiquement sur une autre version du noyau. P> P> inclure / linux / syscalls.h code> p>
arc / x86 / include / asm / syscalls.h code> p>
AFAIK SYSCALLS.H CODE> ne contient que des informations sur le numéro de chaque système SYSCALL, ce qui ne concerne pas les registres qui attendent les paramètres de.
Vous pensez à un fichier différent. J'ai mis à jour la réponse avec un exemple de ce qui est dans ce fichier.
Alors que les internes du noyau Linux peuvent changer souvent, l'API que le noyau fournit pour les utilisateursPace (Aka SysCalls) est vraiment stable.
Voir aussi: Quelles sont les conventions d'appel pour les appels système Unix & Linux sur le X86-64
Ce que vous recherchez est le noyau abi, je ne trouve pas le site officiel, mais il y a En X64 avec un appel INT 80H, il s'agit de: p>