883 extern srv_deleg_policy_t nfs4_get_deleg_policy();
884
885 extern void rfs4_servinst_create(nfs4_srv_t *, int, int, char **);
886 extern void rfs4_servinst_destroy_all(nfs4_srv_t *);
887 extern void rfs4_servinst_assign(nfs4_srv_t *, rfs4_client_t *,
888 rfs4_servinst_t *);
889 extern rfs4_servinst_t *rfs4_servinst(rfs4_client_t *);
890 extern int rfs4_clnt_in_grace(rfs4_client_t *);
891 extern int rfs4_servinst_in_grace(rfs4_servinst_t *);
892 extern int rfs4_servinst_grace_new(rfs4_servinst_t *);
893 extern void rfs4_grace_start(rfs4_servinst_t *);
894 extern void rfs4_grace_start_new(nfs4_srv_t *);
895 extern void rfs4_grace_reset_all(nfs4_srv_t *);
896 extern void rfs4_ss_oldstate(rfs4_oldstate_t *, char *, char *);
897 extern void rfs4_dss_readstate(nfs4_srv_t *, int, char **);
898
899 /*
900 * Various interfaces to manipulate the state structures introduced
901 * above
902 */
903 extern void rfs4_clean_state_exi(struct exportinfo *exi);
904 extern void rfs4_free_reply(nfs_resop4 *);
905 extern void rfs4_copy_reply(nfs_resop4 *, nfs_resop4 *);
906
907 /* rfs4_client_t handling */
908 extern rfs4_client_t *rfs4_findclient(nfs_client_id4 *,
909 bool_t *, rfs4_client_t *);
910 extern rfs4_client_t *rfs4_findclient_by_id(clientid4, bool_t);
911 extern rfs4_client_t *rfs4_findclient_by_addr(struct sockaddr *);
912 extern void rfs4_client_rele(rfs4_client_t *);
913 extern void rfs4_client_close(rfs4_client_t *);
914 extern void rfs4_client_state_remove(rfs4_client_t *);
915 extern void rfs4_client_scv_next(rfs4_client_t *);
916 extern void rfs4_update_lease(rfs4_client_t *);
917 extern bool_t rfs4_lease_expired(rfs4_client_t *);
918 extern nfsstat4 rfs4_check_clientid(clientid4 *, int);
919
920 /* rfs4_clntip_t handling */
921 extern rfs4_clntip_t *rfs4_find_clntip(struct sockaddr *, bool_t *);
922 extern void rfs4_invalidate_clntip(struct sockaddr *);
923
1477 extern int rfs4_do_post_op_attr;
1478 #endif
1479
1480 extern stateid4 clnt_special0;
1481 extern stateid4 clnt_special1;
1482 #define CLNT_ISSPECIAL(id) (stateid4_cmp(id, &clnt_special0) || \
1483 stateid4_cmp(id, &clnt_special1))
1484
1485 /*
1486 * The NFS Version 4 service procedures.
1487 */
1488
1489 extern void rfs4_do_server_start(int, int, int);
1490 extern void rfs4_compound(COMPOUND4args *, COMPOUND4res *,
1491 struct exportinfo *, struct svc_req *, cred_t *, int *);
1492 extern void rfs4_compound_free(COMPOUND4res *);
1493 extern void rfs4_compound_flagproc(COMPOUND4args *, int *);
1494
1495 extern void rfs4_srvrinit(void);
1496 extern void rfs4_srvrfini(void);
1497 extern void rfs4_state_g_init(void);
1498 extern void rfs4_state_zone_init(nfs4_srv_t *);
1499 extern void rfs4_state_g_fini(void);
1500 extern void rfs4_state_zone_fini(void);
1501
1502 #endif
1503 #ifdef __cplusplus
1504 }
1505 #endif
1506
1507 #endif /* _NFS4_H */
|
883 extern srv_deleg_policy_t nfs4_get_deleg_policy();
884
885 extern void rfs4_servinst_create(nfs4_srv_t *, int, int, char **);
886 extern void rfs4_servinst_destroy_all(nfs4_srv_t *);
887 extern void rfs4_servinst_assign(nfs4_srv_t *, rfs4_client_t *,
888 rfs4_servinst_t *);
889 extern rfs4_servinst_t *rfs4_servinst(rfs4_client_t *);
890 extern int rfs4_clnt_in_grace(rfs4_client_t *);
891 extern int rfs4_servinst_in_grace(rfs4_servinst_t *);
892 extern int rfs4_servinst_grace_new(rfs4_servinst_t *);
893 extern void rfs4_grace_start(rfs4_servinst_t *);
894 extern void rfs4_grace_start_new(nfs4_srv_t *);
895 extern void rfs4_grace_reset_all(nfs4_srv_t *);
896 extern void rfs4_ss_oldstate(rfs4_oldstate_t *, char *, char *);
897 extern void rfs4_dss_readstate(nfs4_srv_t *, int, char **);
898
899 /*
900 * Various interfaces to manipulate the state structures introduced
901 * above
902 */
903 extern void rfs4_free_reply(nfs_resop4 *);
904 extern void rfs4_copy_reply(nfs_resop4 *, nfs_resop4 *);
905
906 /* rfs4_client_t handling */
907 extern rfs4_client_t *rfs4_findclient(nfs_client_id4 *,
908 bool_t *, rfs4_client_t *);
909 extern rfs4_client_t *rfs4_findclient_by_id(clientid4, bool_t);
910 extern rfs4_client_t *rfs4_findclient_by_addr(struct sockaddr *);
911 extern void rfs4_client_rele(rfs4_client_t *);
912 extern void rfs4_client_close(rfs4_client_t *);
913 extern void rfs4_client_state_remove(rfs4_client_t *);
914 extern void rfs4_client_scv_next(rfs4_client_t *);
915 extern void rfs4_update_lease(rfs4_client_t *);
916 extern bool_t rfs4_lease_expired(rfs4_client_t *);
917 extern nfsstat4 rfs4_check_clientid(clientid4 *, int);
918
919 /* rfs4_clntip_t handling */
920 extern rfs4_clntip_t *rfs4_find_clntip(struct sockaddr *, bool_t *);
921 extern void rfs4_invalidate_clntip(struct sockaddr *);
922
1476 extern int rfs4_do_post_op_attr;
1477 #endif
1478
1479 extern stateid4 clnt_special0;
1480 extern stateid4 clnt_special1;
1481 #define CLNT_ISSPECIAL(id) (stateid4_cmp(id, &clnt_special0) || \
1482 stateid4_cmp(id, &clnt_special1))
1483
1484 /*
1485 * The NFS Version 4 service procedures.
1486 */
1487
1488 extern void rfs4_do_server_start(int, int, int);
1489 extern void rfs4_compound(COMPOUND4args *, COMPOUND4res *,
1490 struct exportinfo *, struct svc_req *, cred_t *, int *);
1491 extern void rfs4_compound_free(COMPOUND4res *);
1492 extern void rfs4_compound_flagproc(COMPOUND4args *, int *);
1493
1494 extern void rfs4_srvrinit(void);
1495 extern void rfs4_srvrfini(void);
1496 extern void rfs4_srv_zone_init(nfs_globals_t *);
1497 extern void rfs4_srv_zone_fini(nfs_globals_t *);
1498 extern void rfs4_state_g_init(void);
1499 extern void rfs4_state_zone_init(nfs4_srv_t *);
1500 extern void rfs4_state_g_fini(void);
1501 extern void rfs4_state_zone_fini(void);
1502 extern nfs4_srv_t *nfs4_get_srv(void);
1503
1504 #endif
1505 #ifdef __cplusplus
1506 }
1507 #endif
1508
1509 #endif /* _NFS4_H */
|