Dies sind Beschreibungen von SunRPC- basierten Protokollen (RPC steht für Remote Procedure Call). Jede Datei beschreibt normalerweise Datenstrukturen, die von diesen RPCs verwendet werden, und Programme, die sie implementieren. yppasswd.x
Beschreibt beispielsweise das Protokoll zur Aktualisierung des Passworts für die Gelben Seiten und ist relativ einfach zu verstehen:
program YPPASSWDPROG {
version YPPASSWDVERS {
/*
* Update my passwd entry
*/
int
YPPASSWDPROC_UPDATE(yppasswd) = 1;
} = 1;
} = 100009;
struct passwd {
string pw_name<>; /* username */
string pw_passwd<>; /* encrypted password */
int pw_uid; /* user id */
int pw_gid; /* group id */
string pw_gecos<>; /* in real life name */
string pw_dir<>; /* home directory */
string pw_shell<>; /* default shell */
};
struct yppasswd {
string oldpass<>; /* unencrypted old password */
passwd newpw; /* new passwd entry */
};
Dies deklariert eine RPC YP-Kennwortaktualisierungsprozedur, die eine yppasswd
Struktur als Argument verwendet und eine zurückgibt int
. Die Datei beschreibt auch die yppasswd
Struktur selbst sowie die verwendete passwd
Struktur.
Diese Dateien werden im Allgemeinen verwendet rpcgen
, um Stub-Server- und Client-Code zu generieren, der dann zum Implementieren eines RPC-Servers für das Protokoll und / oder eines RPC-Clients verwendet werden kann. Es kann sogar Beispiel-Client- und Servercode generieren.
Wie von Kusalananda angegeben , enthält die rpcgen(1)
Manpage weitere Informationen.