⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smblib-common.h

📁 一个功能非常全面的代理服务器源代码程序,
💻 H
字号:
/* UNIX SMBlib NetBIOS implementation *  * Version 1.0 * SMBlib Common Defines *  * Copyright (C) Richard Sharpe 1996 *  *//* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. *  * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. *  * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *//* To get the error class we want the first 8 bits *//* Because we just grab 4bytes from the SMB header, we have to re-order *//* here, but it makes the NtStatus part easier in future                */#ifndef _SMBLIB_COMMON_H_#define _SMBLIB_COMMON_H_#define SMBlib_Error_Class(p) (p & 0x000000FF)/* To get the error code, we want the bottom 16 bits */#define SMBlib_Error_Code(p) (((unsigned int)p & 0xFFFF0000) >>16)/* Error CLASS codes and etc ... */#define SMBC_SUCCESS        0#define SMBC_ERRDOS         0x01#define SMBC_ERRSRV         0x02#define SMBC_ERRHRD         0x03#define SMBC_ERRCMD         0xFF/* Success error codes    */#define SMBS_BUFFERED       0x54#define SMBS_LOGGED         0x55#define SMBS_DISPLAYED      0x56/* ERRDOS Error codes     */#define SMBD_badfunc        0x01#define SMBD_badfile        0x02#define SMBD_badpath        0x03#define SMBD_nofids         0x04#define SMBD_noaccess       0x05#define SMBD_badfid         0x06#define SMBD_badmcb         0x07#define SMBD_nomem          0x08#define SMBD_badmem         0x09#define SMBD_badenv         0x0A#define SMBD_badformat      0x0B#define SMBD_badaccess      0x0C#define SMBD_baddata        0x0D#define SMBD_reserved       0x0E#define SMBD_baddrive       0x0F#define SMBD_remcd          0x10#define SMBD_diffdevice     0x11#define SMBD_nofiles        0x12#define SMBD_badshare       0x20#define SMBD_errlock        0x21#define SMBD_filexists      0x50/* Server errors ... */#define SMBV_error          0x01	/* Generic error */#define SMBV_badpw          0x02#define SMBV_badtype        0x03#define SMBV_access         0x04#define SMBV_invnid         0x05#define SMBV_invnetname     0x06#define SMBV_invdevice      0x07#define SMBV_qfull          0x31#define SMBV_qtoobig        0x32#define SMBV_qeof           0x33#define SMBV_invpfid        0x34#define SMBV_paused         0x51#define SMBV_msgoff         0x52#define SMBV_noroom         0x53#define SMBV_rmuns          0x57#define SMBV_nosupport      0xFFFF/* Hardware error codes ... */#define SMBH_nowrite        0x13#define SMBH_badunit        0x14#define SMBH_notready       0x15#define SMBH_badcmd         0x16#define SMBH_data           0x17#define SMBH_badreq         0x18#define SMBH_seek           0x19#define SMBH_badmedia       0x1A#define SMBH_badsector      0x1B#define SMBH_nopaper        0x1C#define SMBH_write          0x1D#define SMBH_read           0x1E#define SMBH_general        0x1F#define SMBH_badshare       0x20/* Access mode defines ... */#define SMB_AMODE_WTRU      0x4000#define SMB_AMODE_NOCACHE   0x1000#define SMB_AMODE_COMPAT    0x0000#define SMB_AMODE_DENYRWX   0x0010#define SMB_AMODE_DENYW     0x0020#define SMB_AMODE_DENYRX    0x0030#define SMB_AMODE_DENYNONE  0x0040#define SMB_AMODE_OPENR     0x0000#define SMB_AMODE_OPENW     0x0001#define SMB_AMODE_OPENRW    0x0002#define SMB_AMODE_OPENX     0x0003#define SMB_AMODE_FCBOPEN   0x00FF#define SMB_AMODE_LOCUNKN   0x0000#define SMB_AMODE_LOCMSEQ   0x0100#define SMB_AMODE_LOCMRAN   0x0200#define SMB_AMODE_LOCRAL    0x0300/* File attribute encoding ... */#define SMB_FA_ORD          0x00#define SMB_FA_ROF          0x01#define SMB_FA_HID          0x02#define SMB_FA_SYS          0x04#define SMB_FA_VOL          0x08#define SMB_FA_DIR          0x10#define SMB_FA_ARC          0x20/* Define the protocol types ... */#define SMB_P_Unknown      -1	/* Hmmm, is this smart? */#define SMB_P_Core         0#define SMB_P_CorePlus     1#define SMB_P_DOSLanMan1   2#define SMB_P_LanMan1      3#define SMB_P_DOSLanMan2   4#define SMB_P_LanMan2      5#define SMB_P_DOSLanMan2_1 6#define SMB_P_LanMan2_1    7#define SMB_P_NT1          8/* SMBlib return codes *//* We want something that indicates whether or not the return code was a   *//* remote error, a local error in SMBlib or returned from lower layer ...  *//* Wonder if this will work ...                                            *//* SMBlibE_Remote = 1 indicates remote error                               *//* SMBlibE_ values < 0 indicate local error with more info available       *//* SMBlibE_ values >1 indicate local from SMBlib code errors?              */#define SMBlibE_Success 0#define SMBlibE_Remote  1	/* Remote error, get more info from con        */#define SMBlibE_BAD     -1#define SMBlibE_LowerLayer 2	/* Lower layer error                           */#define SMBlibE_NotImpl 3	/* Function not yet implemented                */#define SMBlibE_ProtLow 4	/* Protocol negotiated does not support req    */#define SMBlibE_NoSpace 5	/* No space to allocate a structure            */#define SMBlibE_BadParam 6	/* Bad parameters                              */#define SMBlibE_NegNoProt 7	/* None of our protocols was liked             */#define SMBlibE_SendFailed 8	/* Sending an SMB failed                       */#define SMBlibE_RecvFailed 9	/* Receiving an SMB failed                     */#define SMBlibE_GuestOnly 10	/* Logged in as guest                          */#define SMBlibE_CallFailed 11	/* Call remote end failed                     */#define SMBlibE_ProtUnknown 12	/* Protocol unknown                          */#define SMBlibE_NoSuchMsg  13	/* Keep this up to date                       */typedef struct {		/* A structure for a Dirent */    unsigned char resume_key[21];	/* Don't touch this          */    unsigned char file_attributes;	/* Attributes of file        */    unsigned int date_time;	/* date and time of last mod */    unsigned int size;    char filename[13];		/* The name of the file      */} SMB_CP_dirent;#endif /* _SMBLIB_COMMON_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -