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 */
  |