Скачиваний:
17
Добавлен:
01.05.2014
Размер:
1.67 Кб
Скачать
#ifndef SCAN2_H
#define	SCAN2_H

#include <rpc/rpc.h>

#ifdef __cplusplus
extern "C" {
#endif

#define	MAXNLEN 255

typedef char *name_t;

typedef struct arg_rec *argPtr;

struct arg_rec {
	name_t dir_name;
	int lflag;
};
typedef struct arg_rec arg_rec;

typedef struct dirinfo *infolist;

struct dirinfo {
	name_t name;
	u_int uid;
	long modtime;
	infolist next;
};
typedef struct dirinfo dirinfo;

struct res {
	int errno;
	union {
		infolist list;
	} res_u;
};
typedef struct res res;

#define	SCANPROG ((unsigned long)(0x20000100))
#define	SCANVER ((unsigned long)(1))

#if defined(__STDC__) || defined(__cplusplus)
#define	SCANDIR ((unsigned long)(1))
extern  res * scandir_1(argPtr *, CLIENT *);
extern  res * scandir_1_svc(argPtr *, struct svc_req *);
extern int scanprog_1_freeresult(SVCXPRT *, xdrproc_t, caddr_t);

#else /* K&R C */
#define	SCANDIR ((unsigned long)(1))
extern  res * scandir_1();
extern  res * scandir_1_svc();
extern int scanprog_1_freeresult();
#endif /* K&R C */

/* the xdr functions */

#if defined(__STDC__) || defined(__cplusplus)
extern  bool_t xdr_name_t(XDR *, name_t*);
extern  bool_t xdr_argPtr(XDR *, argPtr*);
extern  bool_t xdr_arg_rec(XDR *, arg_rec*);
extern  bool_t xdr_infolist(XDR *, infolist*);
extern  bool_t xdr_dirinfo(XDR *, dirinfo*);
extern  bool_t xdr_res(XDR *, res*);

#else /* K&R C */
extern bool_t xdr_name_t();
extern bool_t xdr_argPtr();
extern bool_t xdr_arg_rec();
extern bool_t xdr_infolist();
extern bool_t xdr_dirinfo();
extern bool_t xdr_res();

#endif /* K&R C */

#ifdef __cplusplus
}
#endif

#endif /* !SCAN2_H */
Соседние файлы в папке scan3