summaryrefslogtreecommitdiffstats
path: root/sys/fs/smbfs/smbfs_smb.c
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2010-01-08 15:53:07 +0000
committertrasz <trasz@FreeBSD.org>2010-01-08 15:53:07 +0000
commitc819c5cab455f08bfdfc31619f8944536a2352e7 (patch)
treee4239f6275dc93d8400138a3365c99eb6c04524a /sys/fs/smbfs/smbfs_smb.c
parent2d0be50fe9785f9ccd5e54715b9b89bb950b30ab (diff)
downloadFreeBSD-src-c819c5cab455f08bfdfc31619f8944536a2352e7.zip
FreeBSD-src-c819c5cab455f08bfdfc31619f8944536a2352e7.tar.gz
Remove unused smbfs_smb_qpathinfo().
Diffstat (limited to 'sys/fs/smbfs/smbfs_smb.c')
-rw-r--r--sys/fs/smbfs/smbfs_smb.c110
1 files changed, 0 insertions, 110 deletions
diff --git a/sys/fs/smbfs/smbfs_smb.c b/sys/fs/smbfs/smbfs_smb.c
index 7ee93f6..3a89a9c 100644
--- a/sys/fs/smbfs/smbfs_smb.c
+++ b/sys/fs/smbfs/smbfs_smb.c
@@ -139,116 +139,6 @@ smbfs_smb_lock(struct smbnode *np, int op, caddr_t id,
return smbfs_smb_lockandx(np, op, (uintptr_t)id, start, end, scred);
}
-static int
-smbfs_smb_qpathinfo(struct smbnode *np, struct smbfattr *fap,
- struct smb_cred *scred, short infolevel)
-{
- struct smb_share *ssp = np->n_mount->sm_share;
- struct smb_vc *vcp = SSTOVC(ssp);
- struct smb_t2rq *t2p;
- int error, svtz, timesok = 1;
- struct mbchain *mbp;
- struct mdchain *mdp;
- u_int16_t date, time, wattr;
- int64_t lint;
- u_int32_t size, dattr;
-
- error = smb_t2_alloc(SSTOCP(ssp), SMB_TRANS2_QUERY_PATH_INFORMATION,
- scred, &t2p);
- if (error)
- return error;
- mbp = &t2p->t2_tparam;
- mb_init(mbp);
- if (!infolevel) {
- if (SMB_DIALECT(vcp) < SMB_DIALECT_NTLM0_12)
- infolevel = SMB_QUERY_FILE_STANDARD;
- else
- infolevel = SMB_QUERY_FILE_BASIC_INFO;
- }
- mb_put_uint16le(mbp, infolevel);
- mb_put_uint32le(mbp, 0);
- /* mb_put_uint8(mbp, SMB_DT_ASCII); specs are wrong */
- error = smbfs_fullpath(mbp, vcp, np, NULL, 0);
- if (error) {
- smb_t2_done(t2p);
- return error;
- }
- t2p->t2_maxpcount = 2;
- t2p->t2_maxdcount = vcp->vc_txmax;
- error = smb_t2_request(t2p);
- if (error) {
- smb_t2_done(t2p);
- if (infolevel == SMB_QUERY_FILE_STANDARD || error != EINVAL)
- return error;
- return smbfs_smb_qpathinfo(np, fap, scred,
- SMB_QUERY_FILE_STANDARD);
- }
- mdp = &t2p->t2_rdata;
- svtz = vcp->vc_sopt.sv_tz;
- switch (infolevel) {
- case SMB_QUERY_FILE_STANDARD:
- timesok = 0;
- md_get_uint16le(mdp, NULL);
- md_get_uint16le(mdp, NULL); /* creation time */
- md_get_uint16le(mdp, &date);
- md_get_uint16le(mdp, &time); /* access time */
- if (date || time) {
- timesok++;
- smb_dos2unixtime(date, time, 0, svtz, &fap->fa_atime);
- }
- md_get_uint16le(mdp, &date);
- md_get_uint16le(mdp, &time); /* modify time */
- if (date || time) {
- timesok++;
- smb_dos2unixtime(date, time, 0, svtz, &fap->fa_mtime);
- }
- md_get_uint32le(mdp, &size);
- fap->fa_size = size;
- md_get_uint32(mdp, NULL); /* allocation size */
- md_get_uint16le(mdp, &wattr);
- fap->fa_attr = wattr;
- break;
- case SMB_QUERY_FILE_BASIC_INFO:
- timesok = 0;
- md_get_int64(mdp, NULL); /* creation time */
- md_get_int64le(mdp, &lint);
- if (lint) {
- timesok++;
- smb_time_NT2local(lint, svtz, &fap->fa_atime);
- }
- md_get_int64le(mdp, &lint);
- if (lint) {
- timesok++;
- smb_time_NT2local(lint, svtz, &fap->fa_mtime);
- }
- md_get_int64le(mdp, &lint);
- if (lint) {
- timesok++;
- smb_time_NT2local(lint, svtz, &fap->fa_ctime);
- }
- md_get_uint32le(mdp, &dattr);
- fap->fa_attr = dattr;
- md_get_uint32(mdp, NULL);
- /* XXX could use ALL_INFO to get size */
- break;
- default:
- SMBERROR("unexpected info level %d\n", infolevel);
- error = EINVAL;
- }
- smb_t2_done(t2p);
- /*
- * if all times are zero (observed with FAT on NT4SP6)
- * then fall back to older info level
- */
- if (!timesok) {
- if (infolevel != SMB_QUERY_FILE_STANDARD)
- return smbfs_smb_qpathinfo(np, fap, scred,
- SMB_QUERY_FILE_STANDARD);
- error = EINVAL;
- }
- return error;
-}
-
int
smbfs_smb_statfs2(struct smb_share *ssp, struct statfs *sbp,
struct smb_cred *scred)
OpenPOWER on IntegriCloud