/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)マンページにはより多くの情報があります。

答え2

rpcgenLinuxシステムの手動スニペット:

   rpcgen is a tool that generates C code to implement an RPC protocol.  The
   input to rpcgen is a language similar to C known as RPC Language  (Remote
   Procedure Call Language).

   rpcgen  is normally used as in the first synopsis where it takes an input
   file and generates up to four output  files.   If  the  infile  is  named
   proto.x, then rpcgen will generate a header file in proto.h, XDR routines
   in proto_xdr.c, server-side stubs in proto_svc.c, and  client-side  stubs
   in  proto_clnt.c.

望むよりman rpcgen

関連情報