switch (in_ctl_code & IOCTL_DEV_TYPE_MASK) {
case FSCTL_DFS:
return smb2_ioctl_dfs(in_ctl_code, ev, req, state);
- break;
case FSCTL_FILESYSTEM:
return smb2_ioctl_filesys(in_ctl_code, ev, req, state);
- break;
case FSCTL_NAMED_PIPE:
return smb2_ioctl_named_pipe(in_ctl_code, ev, req, state);
- break;
case FSCTL_NETWORK_FILESYSTEM:
return smb2_ioctl_network_fs(in_ctl_code, ev, req, state);
- break;
case FSCTL_SMBTORTURE:
return smb2_ioctl_smbtorture(in_ctl_code, ev, req, state);
- break;
default:
if (IS_IPC(smbreq->conn)) {
tevent_req_nterror(req, NT_STATUS_FS_DRIVER_REQUIRED);
}
return tevent_req_post(req, ev);
- break;
}
-
- tevent_req_nterror(req, NT_STATUS_INTERNAL_ERROR);
- return tevent_req_post(req, ev);
}
static NTSTATUS smbd_smb2_ioctl_recv(struct tevent_req *req,