diff options
Diffstat (limited to 'share/examples/sunrpc/dir/dir.x')
-rw-r--r-- | share/examples/sunrpc/dir/dir.x | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/share/examples/sunrpc/dir/dir.x b/share/examples/sunrpc/dir/dir.x new file mode 100644 index 0000000..db4283c --- /dev/null +++ b/share/examples/sunrpc/dir/dir.x @@ -0,0 +1,37 @@ +/* @(#)dir.x 2.1 88/08/02 4.0 RPCSRC */ +/* + * dir.x: Remote directory listing protocol + */ +const MAXNAMELEN = 255; /* maximum length of a directory entry */ + +typedef string nametype<MAXNAMELEN>; /* a directory entry */ + +typedef struct namenode *namelist; /* a link in the listing */ + +/* + * A node in the directory listing + */ +struct namenode { + nametype name; /* name of directory entry */ + namelist next; /* next entry */ +}; + +/* + * The result of a READDIR operation. + */ +union readdir_res switch (int errno) { +case 0: + namelist list; /* no error: return directory listing */ +default: + void; /* error occurred: nothing else to return */ +}; + +/* + * The directory program definition + */ +program DIRPROG { + version DIRVERS { + readdir_res + READDIR(nametype) = 1; + } = 1; +} = 76; |