12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- /*
- * linux/fs/nfs/callback.h
- *
- * Copyright (C) 2004 Trond Myklebust
- *
- * NFSv4 callback definitions
- */
- #ifndef __LINUX_FS_NFS_CALLBACK_H
- #define __LINUX_FS_NFS_CALLBACK_H
- #define NFS4_CALLBACK 0x40000000
- #define NFS4_CALLBACK_XDRSIZE 2048
- #define NFS4_CALLBACK_BUFSIZE (1024 + NFS4_CALLBACK_XDRSIZE)
- enum nfs4_callback_procnum {
- CB_NULL = 0,
- CB_COMPOUND = 1,
- };
- enum nfs4_callback_opnum {
- OP_CB_GETATTR = 3,
- OP_CB_RECALL = 4,
- OP_CB_ILLEGAL = 10044,
- };
- struct cb_compound_hdr_arg {
- unsigned int taglen;
- const char *tag;
- unsigned int callback_ident;
- unsigned nops;
- };
- struct cb_compound_hdr_res {
- __be32 *status;
- unsigned int taglen;
- const char *tag;
- __be32 *nops;
- };
- struct cb_getattrargs {
- struct sockaddr_in *addr;
- struct nfs_fh fh;
- uint32_t bitmap[2];
- };
- struct cb_getattrres {
- __be32 status;
- uint32_t bitmap[2];
- uint64_t size;
- uint64_t change_attr;
- struct timespec ctime;
- struct timespec mtime;
- };
- struct cb_recallargs {
- struct sockaddr_in *addr;
- struct nfs_fh fh;
- nfs4_stateid stateid;
- uint32_t truncate;
- };
- extern __be32 nfs4_callback_getattr(struct cb_getattrargs *args, struct cb_getattrres *res);
- extern __be32 nfs4_callback_recall(struct cb_recallargs *args, void *dummy);
- #ifdef CONFIG_NFS_V4
- extern int nfs_callback_up(void);
- extern void nfs_callback_down(void);
- #else
- #define nfs_callback_up() (0)
- #define nfs_callback_down() do {} while(0)
- #endif
- extern unsigned int nfs_callback_set_tcpport;
- extern unsigned short nfs_callback_tcpport;
- #endif /* __LINUX_FS_NFS_CALLBACK_H */
|