Lines Matching defs:session
77 static void ndmp_connect_get_scsi_v2(ndmpd_session_t *session,
79 static void ndmp_connect_get_tape_v2(ndmpd_session_t *session,
81 static void ndmp_connect_get_mover_v2(ndmpd_session_t *session,
83 static void ndmp_connect_get_data_v2(ndmpd_session_t *session,
87 static void ndmp_connect_get_mover_v3(ndmpd_session_t *session,
89 static void ndmp_connect_get_data_v3(ndmpd_session_t *session,
146 ndmpd_session_t *session;
150 if (!(session = (ndmpd_session_t *)ndmp_get_client_data(connection)))
153 if (session->ns_mover.md_state != NDMP_MOVER_STATE_IDLE ||
154 session->ns_data.dd_state != NDMP_DATA_STATE_IDLE)
172 session->ns_protocol_version = request->protocol_version;
195 ndmpd_session_t *session;
304 session = ndmp_get_client_data(connection);
306 session->ns_challenge);
407 ndmpd_session_t *session;
409 if ((session = (ndmpd_session_t *)ndmp_get_client_data(connection))) {
411 session->ns_eof = TRUE;
439 ndmpd_session_t *session;
497 session = ndmp_get_client_data(connection);
500 md5->auth_digest, session->ns_challenge);
545 ndmpd_session_t *session;
549 if (!(session = (ndmpd_session_t *)ndmp_get_client_data(connection)))
551 if ((nlp = ndmp_get_nlp(session)) == NULL)
555 session->ns_protocol_version);
559 req.protocol_version = session->ns_protocol_version;
570 session->ns_eof = TRUE;
773 ndmpd_session_t *session;
775 if (!(session = (ndmpd_session_t *)ndmp_get_client_data(clp->cl_conn)))
779 ndmp_door_put_int32(enc_ctx, session->ns_protocol_version);
781 ndmp_door_put_int32(enc_ctx, session->ns_eof);
794 ndmp_connect_get_scsi_v2(ndmpd_session_t *session, ndmp_door_ctx_t *enc_ctx)
796 ndmp_door_put_int32(enc_ctx, session->ns_scsi.sd_is_open);
797 ndmp_door_put_string(enc_ctx, session->ns_scsi.sd_adapter_name);
798 ndmp_door_put_int32(enc_ctx, session->ns_scsi.sd_valid_target_set);
799 if (session->ns_scsi.sd_valid_target_set) {
800 ndmp_door_put_int32(enc_ctx, session->ns_scsi.sd_sid);
801 ndmp_door_put_int32(enc_ctx, session->ns_scsi.sd_lun);
809 ndmp_connect_get_tape_v2(ndmpd_session_t *session, ndmp_door_ctx_t *enc_ctx)
813 ndmp_door_put_int32(enc_ctx, session->ns_tape.td_fd);
814 if (session->ns_tape.td_fd != -1) {
815 ndmp_door_put_uint64(enc_ctx, session->ns_tape.td_record_count);
816 ndmp_door_put_int32(enc_ctx, session->ns_tape.td_mode);
818 session->ns_tape.td_adapter_name, session->ns_tape.td_sid,
819 session->ns_tape.td_lun);
821 ndmp_door_put_string(enc_ctx, session->ns_tape.td_adapter_name);
822 ndmp_door_put_int32(enc_ctx, session->ns_tape.td_sid);
823 ndmp_door_put_int32(enc_ctx, session->ns_tape.td_lun);
831 ndmp_connect_get_mover_v2(ndmpd_session_t *session, ndmp_door_ctx_t *enc_ctx)
833 ndmp_door_put_int32(enc_ctx, session->ns_mover.md_state);
834 ndmp_door_put_int32(enc_ctx, session->ns_mover.md_mode);
835 ndmp_door_put_int32(enc_ctx, session->ns_mover.md_pause_reason);
836 ndmp_door_put_int32(enc_ctx, session->ns_mover.md_halt_reason);
837 ndmp_door_put_uint64(enc_ctx, session->ns_mover.md_record_size);
838 ndmp_door_put_uint64(enc_ctx, session->ns_mover.md_record_num);
839 ndmp_door_put_uint64(enc_ctx, session->ns_mover.md_position);
840 ndmp_door_put_uint64(enc_ctx, session->ns_mover.md_window_offset);
841 ndmp_door_put_uint64(enc_ctx, session->ns_mover.md_window_length);
842 ndmp_door_put_int32(enc_ctx, session->ns_mover.md_sock);
849 ndmp_connect_get_data_common(ndmpd_session_t *session, ndmp_door_ctx_t *enc_ctx)
855 ndmp_door_put_int32(enc_ctx, session->ns_data.dd_operation);
856 ndmp_door_put_int32(enc_ctx, session->ns_data.dd_state);
857 ndmp_door_put_int32(enc_ctx, session->ns_data.dd_halt_reason);
858 ndmp_door_put_int32(enc_ctx, session->ns_data.dd_sock);
859 ndmp_door_put_int32(enc_ctx, session->ns_data.dd_mover.addr_type);
860 ndmp_door_put_int32(enc_ctx, session->ns_data.dd_abort);
861 ndmp_door_put_uint64(enc_ctx, session->ns_data.dd_read_offset);
862 ndmp_door_put_uint64(enc_ctx, session->ns_data.dd_read_length);
863 ndmp_door_put_uint64(enc_ctx, session->ns_data.dd_data_size);
864 /* verify data.env has as much data as in session->ns_data.dd_env_len */
866 ep = session->ns_data.dd_env;
867 for (i = 0; ep && i < session->ns_data.dd_env_len; i++, ep++)
871 (void) mutex_lock(&session->ns_lock);
873 ep = session->ns_data.dd_env;
878 (void) mutex_unlock(&session->ns_lock);
885 ndmp_connect_get_data_v2(ndmpd_session_t *session, ndmp_door_ctx_t *enc_ctx)
891 ndmp_connect_get_data_common(session, enc_ctx);
893 switch (session->ns_data.dd_mover.addr_type) {
901 session->ns_data.dd_mover.ndmp_mover_addr_u.addr.ip_addr)),
902 session->ns_data.dd_mover.ndmp_mover_addr_u.addr.port);
910 ndmp_door_put_uint64(enc_ctx, session->ns_data.dd_nlist_len);
911 np = session->ns_data.dd_nlist;
912 for (i = 0; np && i < (int)session->ns_data.dd_nlist_len; i++, np++) {
924 ndmpd_session_t *session;
926 if ((session = (ndmpd_session_t *)ndmp_get_client_data(connection))) {
927 ndmp_connect_get_scsi_v2(session, enc_ctx);
928 ndmp_connect_get_tape_v2(session, enc_ctx);
929 ndmp_connect_get_mover_v2(session, enc_ctx);
930 ndmp_connect_get_data_v2(session, enc_ctx);
938 ndmp_connect_get_mover_v3(ndmpd_session_t *session, ndmp_door_ctx_t *enc_ctx)
943 ndmp_connect_get_mover_v2(session, enc_ctx);
946 ndmp_door_put_int32(enc_ctx, session->ns_mover.md_listen_sock);
947 ndmp_door_put_int32(enc_ctx, session->ns_mover.md_data_addr.addr_type);
951 inet_ntoa(IN_ADDR(session->ns_mover.md_data_addr.tcp_ip_v3)),
952 (int)session->ns_mover.md_data_addr.tcp_port_v3);
960 ndmp_connect_get_data_v3(ndmpd_session_t *session, ndmp_door_ctx_t *enc_ctx)
966 ndmp_connect_get_data_common(session, enc_ctx);
969 (char *)inet_ntoa(IN_ADDR(session->ns_data.dd_data_addr.tcp_ip_v3)),
970 (int)session->ns_data.dd_data_addr.tcp_port_v3);
972 ndmp_door_put_int32(enc_ctx, session->ns_data.dd_listen_sock);
974 session->ns_data.dd_module.dm_stats.ms_bytes_processed);
975 ndmp_door_put_uint64(enc_ctx, session->ns_data.dd_nlist_len);
976 np = session->ns_data.dd_nlist_v3;
977 for (i = 0; np && i < (int)session->ns_data.dd_nlist_len; i++, np++) {
991 ndmpd_session_t *session;
993 if ((session = (ndmpd_session_t *)ndmp_get_client_data(connection))) {
994 ndmp_connect_get_scsi_v2(session, enc_ctx);
995 ndmp_connect_get_tape_v2(session, enc_ctx);
996 ndmp_connect_get_mover_v3(session, enc_ctx);
997 ndmp_connect_get_data_v3(session, enc_ctx);
1008 ndmpd_session_t *session;
1010 session = (ndmpd_session_t *)ndmp_get_client_data(clp->cl_conn);
1011 if (!session) {
1017 switch (session->ns_protocol_version) {
1029 "Invalid session (0x%p) version 0x%x", session,
1030 session->ns_protocol_version);
1049 ndmpd_session_t *session;
1051 if (!(session = (ndmpd_session_t *)ndmp_get_client_data(connection)))
1054 switch (session->ns_protocol_version) {
1064 "Invalid session (0x%p) version 0x%x", session,
1065 session->ns_protocol_version);
1207 * challenge is a 64 bytes random string per NDMP session sent out to the