Apache2-AuthenNTLM
view release on metacpan or search on metacpan
smb/smbval/smblib-priv.h view on Meta::CPAN
/* Core protocol commands */
#define SMBmkdir 0x00 /* create directory */
#define SMBrmdir 0x01 /* delete directory */
#define SMBopen 0x02 /* open file */
#define SMBcreate 0x03 /* create file */
#define SMBclose 0x04 /* close file */
#define SMBflush 0x05 /* flush file */
#define SMBunlink 0x06 /* delete file */
#define SMBmv 0x07 /* rename file */
#define SMBgetatr 0x08 /* get file attributes */
#define SMBsetatr 0x09 /* set file attributes */
#define SMBread 0x0A /* read from file */
#define SMBwrite 0x0B /* write to file */
#define SMBlock 0x0C /* lock byte range */
#define SMBunlock 0x0D /* unlock byte range */
#define SMBctemp 0x0E /* create temporary file */
#define SMBmknew 0x0F /* make new file */
#define SMBchkpth 0x10 /* check directory path */
#define SMBexit 0x11 /* process exit */
#define SMBlseek 0x12 /* seek */
#define SMBtcon 0x70 /* tree connect */
#define SMBtdis 0x71 /* tree disconnect */
#define SMBnegprot 0x72 /* negotiate protocol */
#define SMBdskattr 0x80 /* get disk attributes */
#define SMBsearch 0x81 /* search directory */
#define SMBsplopen 0xC0 /* open print spool file */
#define SMBsplwr 0xC1 /* write to print spool file */
#define SMBsplclose 0xC2 /* close print spool file */
#define SMBsplretq 0xC3 /* return print queue */
#define SMBsends 0xD0 /* send single block message */
#define SMBsendb 0xD1 /* send broadcast message */
#define SMBfwdname 0xD2 /* forward user name */
#define SMBcancelf 0xD3 /* cancel forward */
#define SMBgetmac 0xD4 /* get machine name */
#define SMBsendstrt 0xD5 /* send start of multi-block message */
#define SMBsendend 0xD6 /* send end of multi-block message */
#define SMBsendtxt 0xD7 /* send text of multi-block message */
/* CorePlus protocol */
#define SMBlockread 0x13 /* Lock a range and read it */
#define SMBwriteunlock 0x14 /* Unlock a range and then write */
#define SMBreadbraw 0x1a /* read a block of data without smb header ohead*/
#define SMBwritebraw 0x1d /* write a block of data without smb header ohead*/
#define SMBwritec 0x20 /* secondary write request */
#define SMBwriteclose 0x2c /* write a file and then close it */
/* DOS Extended Protocol */
#define SMBreadBraw 0x1A /* read block raw */
#define SMBreadBmpx 0x1B /* read block multiplexed */
#define SMBreadBs 0x1C /* read block (secondary response) */
#define SMBwriteBraw 0x1D /* write block raw */
#define SMBwriteBmpx 0x1E /* write block multiplexed */
#define SMBwriteBs 0x1F /* write block (secondary request) */
#define SMBwriteC 0x20 /* write complete response */
#define SMBsetattrE 0x22 /* set file attributes expanded */
#define SMBgetattrE 0x23 /* get file attributes expanded */
#define SMBlockingX 0x24 /* lock/unlock byte ranges and X */
#define SMBtrans 0x25 /* transaction - name, bytes in/out */
#define SMBtranss 0x26 /* transaction (secondary request/response) */
#define SMBioctl 0x27 /* IOCTL */
#define SMBioctls 0x28 /* IOCTL (secondary request/response) */
#define SMBcopy 0x29 /* copy */
#define SMBmove 0x2A /* move */
#define SMBecho 0x2B /* echo */
#define SMBopenX 0x2D /* open and X */
#define SMBreadX 0x2E /* read and X */
#define SMBwriteX 0x2F /* write and X */
#define SMBsesssetupX 0x73 /* Session Set Up & X (including User Logon) */
#define SMBtconX 0x75 /* tree connect and X */
#define SMBffirst 0x82 /* find first */
#define SMBfunique 0x83 /* find unique */
#define SMBfclose 0x84 /* find close */
#define SMBinvalid 0xFE /* invalid command */
#define SMBulogoffX 0x74 /* user logoff */
/* Any more ? */
#define SMBdatablockID 0x01 /* A data block identifier */
#define SMBdialectID 0x02 /* A dialect id */
#define SMBpathnameID 0x03 /* A pathname ID */
#define SMBasciiID 0x04 /* An ascii string ID */
#define SMBvariableblockID 0x05 /* A variable block ID */
/* some other defines we need */
/* Flags defines ... */
#define SMB_FLG2_NON_DOS 0x01 /* We know non dos names */
#define SMB_FLG2_EXT_ATR 0x02 /* We know about Extended Attributes */
#define SMB_FLG2_LNG_NAM 0x04 /* Long names ? */
typedef unsigned short WORD;
typedef unsigned short UWORD;
typedef unsigned int ULONG;
typedef unsigned char BYTE;
typedef unsigned char UCHAR;
/* Some macros to allow access to actual packet data so that we */
/* can change the underlying representation of packets. */
/* */
/* The current formats vying for attention are a fragment */
/* approach where the SMB header is a fragment linked to the */
/* data portion with the transport protocol (rfcnb or whatever) */
/* being linked on the front. */
/* */
/* The other approach is where the whole packet is one array */
/* of bytes with space allowed on the front for the packet */
/* headers. */
#define SMB_Hdr(p) (char *)(p -> data)
/* SMB Hdr def for File Sharing Protocol? From MS and Intel, */
/* Intel PN 138446 Doc Version 2.0, Nov 7, 1988. This def also */
/* applies to LANMAN1.0 as well as the Core Protocol */
/* The spec states that wct and bcc must be present, even if 0 */
/* We define these as offsets into a char SMB[] array for the */
( run in 0.447 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )