Chúng là các mô tả về các giao thức dựa trên SunRPC (RPC là viết tắt của Cuộc gọi thủ tục từ xa). Mỗi tệp thường mô tả các cấu trúc dữ liệu được sử dụng bởi các RPC này và các chương trình triển khai chúng; ví dụ: yppasswd.x
mô tả giao thức cập nhật mật khẩu Trang Vàng và tương đối dễ hiểu:
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 */
};
Điều này tuyên bố một thủ tục cập nhật mật khẩu RPC YP, lấy một yppasswd
cấu trúc làm đối số và trả về một int
. Các tập tin cũng mô tả yppasswd
chính cấu trúc, cùng với passwd
cấu trúc mà nó sử dụng.
Các tệp này thường được sử dụng rpcgen
để tạo mã máy chủ và mã máy khách, sau đó có thể được sử dụng để triển khai máy chủ RPC cho giao thức và / hoặc máy khách RPC. Nó thậm chí có thể tạo ví dụ mã máy khách và máy chủ.
Theo chỉ định của Kusalananda , rpcgen(1)
trang này có nhiều thông tin hơn.