smb_common_transact.c revision 148c5f43199ca0b43fc8e3b643aab11cd66ea327
3853N/A * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3853N/A * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3853N/A * We started by using common functions for transaction/transaction2
3853N/A * and transaction_secondary/transaction2_secondary because they
3853N/A return (SDRC_SUCCESS);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_SUCCESS);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_DROP_VC);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_NO_REPLY);
3853N/A return (SDRC_NO_REPLY);
3861N/A return (SDRC_SUCCESS);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_NOT_IMPLEMENTED);
3853N/A return (SDRC_SUCCESS);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_SUCCESS);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_DROP_VC);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_ERROR);
3853N/A return (SDRC_NO_REPLY);
3853N/A return (SDRC_NO_REPLY);
3853N/Astatic smb_sdrc_t
3853N/A case NT_TRANSACT_CREATE:
3853N/A case NT_TRANSACT_IOCTL:
case NT_TRANSACT_QUERY_QUOTA:
case NT_TRANSACT_SET_QUOTA:
case NT_TRANSACT_RENAME:
return (SDRC_ERROR);
switch (rc) {
case SDRC_SUCCESS:
case SDRC_DROP_VC:
case SDRC_NO_REPLY:
case SDRC_ERROR:
case SDRC_SR_KEPT:
return (rc);
case SDRC_NOT_IMPLEMENTED:
return (SDRC_ERROR);
return (SDRC_ERROR);
return (SDRC_SUCCESS);
int ready;
int rc;
if (rc != 0)
return (SDRC_ERROR);
if (xa == 0) {
return (SDRC_ERROR);
return (SDRC_ERROR);
return (SDRC_ERROR);
return (SDRC_ERROR);
return (SDRC_ERROR);
if (!ready) {
return (SDRC_ERROR);
return (SDRC_SUCCESS);
int rc;
return (SDRC_ERROR);
return (SDRC_ERROR);
return (SDRC_DROP_VC);
if (rc != 0)
return (SDRC_ERROR);
return (SDRC_ERROR);
return (SDRC_ERROR);
return (SDRC_NO_REPLY);
return (SDRC_NO_REPLY);
int rc;
return (rc);
pword);
int tot_packet_bytes;
char *sent_buf;
return (SDRC_NOT_IMPLEMENTED);
ERROR_INVALID_LEVEL, 0, 0, 0);
return (SDRC_SUCCESS);
return (SDRC_SUCCESS);
tot_data_scnt = 0;
if (first_resp) {
? ERROR_MORE_DATA : 0,
+ tot_packet_bytes);
return (SDRC_NO_REPLY);
char *share;
char *password;
return (SDRC_NOT_IMPLEMENTED);
NERR_NetNameNotFound, 0, 0);
if (si)
return (SDRC_SUCCESS);
switch (level) {
ERROR_INVALID_LEVEL, 0, 0);
return (SDRC_NOT_IMPLEMENTED);
return (SDRC_SUCCESS);
char *domain;
char *hostname;
NERR_BadTransactConfig, 0, 0, 0);
return (SDRC_SUCCESS);
return (SDRC_SUCCESS);
unsigned char *user;
int rc;
&user,
&level,
&max_bytes);
if (rc != 0)
return (SDRC_NOT_IMPLEMENTED);
NERR_UserNotFound, 0, 0);
return (SDRC_SUCCESS);
return (SDRC_ERROR);
sizeof (server_name));
switch (level) {
ERROR_INVALID_LEVEL, 0, 0);
return (SDRC_SUCCESS);
return (SDRC_SUCCESS);
unsigned char *domain;
char *hostname, *s;
return (SDRC_NOT_IMPLEMENTED);
return (SDRC_SUCCESS);
return (SDRC_SUCCESS);
return (SDRC_SUCCESS);
static boolean_t
static char *mailslots[] = {
return (B_TRUE);
return (B_FALSE);
static boolean_t
return (B_FALSE);
return (B_TRUE);
static smb_sdrc_t
char *req_fmt;
char *rep_fmt;
n_setup++;
n_param++;
if (rc != 0)
goto trans_err_not_supported;
switch (opcode) {
case TRANS_SET_NMPIPE_STATE:
&devstate)) != 0)
goto trans_err_not_supported;
case TRANS_TRANSACT_NMPIPE:
return (SDRC_ERROR);
if (rc != 0)
goto trans_err_not_supported;
case TRANS_WAIT_NMPIPE:
return (SDRC_ERROR);
goto trans_err_not_supported;
goto trans_err_not_supported;
goto trans_err_not_supported;
switch (opcode) {
case API_WshareEnum:
case API_WshareGetInfo:
case API_WserverGetInfo:
case API_WUserGetInfo:
case API_WWkstaGetInfo:
case API_NetServerEnum2:
goto trans_err_not_supported;
switch (rc) {
case SDRC_SUCCESS:
case SDRC_DROP_VC:
case SDRC_NO_REPLY:
case SDRC_ERROR:
return (rc);
case SDRC_NOT_IMPLEMENTED:
goto trans_err_not_supported;
goto trans_err_too_small;
goto trans_err;
goto trans_err;
rc,
static smb_sdrc_t
char *fmt;
n_setup++;
n_param++;
goto trans_err_not_supported;
switch (opcode) {
case TRANS2_OPEN2:
case TRANS2_CREATE_DIRECTORY:
case TRANS2_FIND_FIRST2:
if (n_data == 0) {
return (SDRC_ERROR);
case TRANS2_FIND_NEXT2:
if (n_data == 0) {
return (SDRC_ERROR);
if (n_data == 0) {
return (SDRC_ERROR);
if (n_data == 0) {
return (SDRC_ERROR);
if (n_data == 0) {
return (SDRC_ERROR);
case TRANS2_GET_DFS_REFERRAL:
goto trans_err_not_supported;
switch (rc) {
case SDRC_SUCCESS:
case SDRC_DROP_VC:
case SDRC_NO_REPLY:
case SDRC_ERROR:
return (rc);
case SDRC_NOT_IMPLEMENTED:
goto trans_err_not_supported;
goto trans_err_too_small;
fmt,
goto trans_err;
goto trans_err;
rc,
smb_xa_t *
while (nxa) {
return (NULL);
return (xa);
smb_xa_t *
return (xa);
int rc;
rc = 0;
return (rc);
int rc;
rc = 0;
return (rc);
smb_xa_t *
while (xa) {
return (xa);