/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2014 Nexenta Systems, Inc. All rights reserved.
*/
/*
* Dispatch function for SMB2_CHANGE_NOTIFY
*/
#include <smbsrv/smb2_kproto.h>
{
int rc = 0;
/*
* SMB2 Change Notify request
*/
&StructSize, /* w */
&iFlags, /* w */
&oBufLength, /* l */
&CompletionFilter, /* l */
&reserved); /* l */
return (SDRC_ERROR);
if (status)
goto puterror;
goto puterror;
}
/*
* Let Change Notify "go async", because it
* may block indefinitely.
*/
return (SDRC_SUCCESS);
}
static smb_sdrc_t
{
int rc = 0;
/*
* SMB2 Change Notify request
*/
&StructSize, /* w */
&iFlags, /* w */
&oBufLength, /* l */
&CompletionFilter, /* l */
&reserved); /* l */
return (SDRC_ERROR);
if (status != 0) {
return (SDRC_SUCCESS);
}
if (iFlags & SMB2_WATCH_TREE)
if (oBufLength > smb2_max_trans)
if (status != 0) {
return (SDRC_SUCCESS);
}
/*
* SMB2 Change Notify reply
*/
9, /* StructSize */ /* w */
DataOff, /* w */
oBufLength, /* l */
if (rc)
return (SDRC_ERROR);
return (SDRC_SUCCESS);
}