/usr/includeにある.xファイルは何ですか?

/usr/includeにある.xファイルは何ですか?

./usr/include.x/usr/include/rpcsvc/rquota.x

Cソースコードのように見えますが(file /usr/include/rpcsvc/rquota.x結果はにありますC source, ASCII text)、有効なCではありません(キーワードを参照)programversion

正確には何ですか?拡張機能が短すぎて一部のサイトが間違っているか不完全であるため、Googleで検索するのは困難です(例:ウィキペディア「前のDirectXファイル」と言います)。

ベストアンサー1

彼らは正しいSunRPCプロトコルベース(RPCはリモートプロシージャコールを表します)。各ファイルは通常、これらのRPCとそれを実装するプログラムで使用されるデータ構造を記述します。たとえば、yppasswd.xYellow Pagesパスワード更新プロトコルを説明すると、理解しやすくなります。

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 */
};

yppasswdこれは、構造体をパラメータとして使用し、1つを返すRPC YPパスワード更新プロシージャを宣言しますint。このファイルにはyppasswd構造そのものとpasswd使用される構造も記述されています。

これらのファイルは通常、スタブサーバーとrpcgenクライアントコードを生成するために使用され、プロトコルのRPCサーバーおよび/またはRPCクライアントを実装するために使用できます。サンプルクライアントとサーバーコードを生成することもできます。

図からわかるように先行は達成するのが難しい、これrpcgen(1)マンページにはより多くの情報があります。

おすすめ記事