Author: metze Date: 2006-06-20 06:32:29 +0000 (Tue, 20 Jun 2006) New Revision: 16403
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16403 Log: remove dependency to smbsrv_request next part... metze Modified: branches/SAMBA_4_0/source/smb_server/smb/trans2.c Changeset: Modified: branches/SAMBA_4_0/source/smb_server/smb/trans2.c =================================================================== --- branches/SAMBA_4_0/source/smb_server/smb/trans2.c 2006-06-20 06:20:05 UTC (rev 16402) +++ branches/SAMBA_4_0/source/smb_server/smb/trans2.c 2006-06-20 06:32:29 UTC (rev 16403) @@ -241,10 +241,11 @@ return NT_STATUS_OK; } -static NTSTATUS trans2_push_fsinfo(struct smbsrv_request *req, +static NTSTATUS trans2_push_fsinfo(struct smbsrv_connection *smb_conn, + TALLOC_CTX *mem_ctx, + DATA_BLOB *blob, union smb_fsinfo *fsinfo, - TALLOC_CTX *mem_ctx, - DATA_BLOB *blob) + int default_str_flags) { uint_t i; DATA_BLOB guid_blob; @@ -269,7 +270,7 @@ * leaves the last byte off the string */ TRANS2_CHECK(trans2_append_data_string(mem_ctx, blob, fsinfo->volume.out.volume_name.s, - 4, TRANS2_REQ_DEFAULT_STR_FLAGS(req), + 4, default_str_flags, STR_LEN8BIT|STR_NOALIGN)); return NT_STATUS_OK; @@ -283,7 +284,7 @@ SSVAL(blob->data, 16, 0); /* padding */ TRANS2_CHECK(trans2_append_data_string(mem_ctx, blob, fsinfo->volume_info.out.volume_name.s, - 12, TRANS2_REQ_DEFAULT_STR_FLAGS(req), + 12, default_str_flags, STR_UNICODE)); return NT_STATUS_OK; @@ -319,7 +320,7 @@ unicode even when ascii is negotiated */ TRANS2_CHECK(trans2_append_data_string(mem_ctx, blob, fsinfo->attribute_info.out.fs_type.s, - 8, TRANS2_REQ_DEFAULT_STR_FLAGS(req), + 8, default_str_flags, STR_UNICODE)); return NT_STATUS_OK; @@ -379,7 +380,9 @@ TRANS2_CHECK(trans2_setup_reply(trans, 0, 0, 0)); - TRANS2_CHECK(trans2_push_fsinfo(req, fsinfo, trans, &trans->out.data)); + TRANS2_CHECK(trans2_push_fsinfo(req->smb_conn, trans, + &trans->out.data, fsinfo, + TRANS2_REQ_DEFAULT_STR_FLAGS(req))); return NT_STATUS_OK; } @@ -573,10 +576,11 @@ return ntvfs_mkdir(req->ntvfs, io); } -static NTSTATUS trans2_push_fileinfo(struct smbsrv_request *req, +static NTSTATUS trans2_push_fileinfo(struct smbsrv_connection *smb_conn, + TALLOC_CTX *mem_ctx, + DATA_BLOB *blob, union smb_fileinfo *st, - TALLOC_CTX *mem_ctx, - DATA_BLOB *blob) + int default_str_flags) { uint_t i; uint32_t list_size; @@ -604,9 +608,9 @@ case RAW_FILEINFO_STANDARD: TRANS2_CHECK(trans2_grow_data(mem_ctx, blob, 22)); - srv_push_dos_date2(req->smb_conn, blob->data, 0, st->standard.out.create_time); - srv_push_dos_date2(req->smb_conn, blob->data, 4, st->standard.out.access_time); - srv_push_dos_date2(req->smb_conn, blob->data, 8, st->standard.out.write_time); + srv_push_dos_date2(smb_conn, blob->data, 0, st->standard.out.create_time); + srv_push_dos_date2(smb_conn, blob->data, 4, st->standard.out.access_time); + srv_push_dos_date2(smb_conn, blob->data, 8, st->standard.out.write_time); SIVAL(blob->data, 12, st->standard.out.size); SIVAL(blob->data, 16, st->standard.out.alloc_size); SSVAL(blob->data, 20, st->standard.out.attrib); @@ -615,9 +619,9 @@ case RAW_FILEINFO_EA_SIZE: TRANS2_CHECK(trans2_grow_data(mem_ctx, blob, 26)); - srv_push_dos_date2(req->smb_conn, blob->data, 0, st->ea_size.out.create_time); - srv_push_dos_date2(req->smb_conn, blob->data, 4, st->ea_size.out.access_time); - srv_push_dos_date2(req->smb_conn, blob->data, 8, st->ea_size.out.write_time); + srv_push_dos_date2(smb_conn, blob->data, 0, st->ea_size.out.create_time); + srv_push_dos_date2(smb_conn, blob->data, 4, st->ea_size.out.access_time); + srv_push_dos_date2(smb_conn, blob->data, 8, st->ea_size.out.write_time); SIVAL(blob->data, 12, st->ea_size.out.size); SIVAL(blob->data, 16, st->ea_size.out.alloc_size); SSVAL(blob->data, 20, st->ea_size.out.attrib); @@ -747,7 +751,7 @@ SIVAL(blob->data, 64, st->all_info.out.ea_size); TRANS2_CHECK(trans2_append_data_string(mem_ctx, blob, st->all_info.out.fname.s, - 68, TRANS2_REQ_DEFAULT_STR_FLAGS(req), + 68, default_str_flags, STR_UNICODE)); return NT_STATUS_OK; @@ -757,7 +761,7 @@ TRANS2_CHECK(trans2_append_data_string(mem_ctx, blob, st->name_info.out.fname.s, - 0, TRANS2_REQ_DEFAULT_STR_FLAGS(req), + 0, default_str_flags, STR_UNICODE)); return NT_STATUS_OK; @@ -767,7 +771,7 @@ TRANS2_CHECK(trans2_append_data_string(mem_ctx, blob, st->alt_name_info.out.fname.s, - 0, TRANS2_REQ_DEFAULT_STR_FLAGS(req), + 0, default_str_flags, STR_UNICODE)); return NT_STATUS_OK; @@ -783,7 +787,7 @@ SBVAL(data, 16, st->stream_info.out.streams[i].alloc_size); TRANS2_CHECK(trans2_append_data_string(mem_ctx, blob, st->stream_info.out.streams[i].stream_name.s, - data_size + 4, TRANS2_REQ_DEFAULT_STR_FLAGS(req), + data_size + 4, default_str_flags, STR_UNICODE)); if (i == st->stream_info.out.num_streams - 1) { SIVAL(blob->data, data_size, 0); @@ -821,7 +825,9 @@ TRANS2_CHECK(trans2_setup_reply(trans, 2, 0, 0)); SSVAL(trans->out.params.data, 0, 0); - TRANS2_CHECK(trans2_push_fileinfo(req, st, trans, &trans->out.data)); + TRANS2_CHECK(trans2_push_fileinfo(req->smb_conn, trans, + &trans->out.data, st, + TRANS2_REQ_DEFAULT_STR_FLAGS(req))); return NT_STATUS_OK; }