예제 #1
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)60); // kFPReadExt     
     wr.Write((byte)0);
     wr.Write((ushort)OForkRefNum);
     wr.Write((Int64)Offset);
     wr.Write((Int64)ReqCount);
     return os.ToArray();
 }
예제 #2
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)33); // kFPWrite     
     wr.Write((byte)Flag);
     wr.Write((ushort)OForkRefNum);
     wr.Write((int)Offset);
     wr.Write((int)ReqCount);
     wr.Write(ForkData, x, ReqCount);
     return os.ToArray();
 }
예제 #3
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)23); // kFPMoveAndRename  
     wr.Write((byte)Pad);
     wr.Write((ushort)VolumeID);
     wr.Write((uint)SourceDirectoryID);
     wr.Write((uint)DestDirectoryID);
     wr.Write((byte)SourcePathType);
     UtAfp.Write1Str(os, SourcePath);
     wr.Write((byte)DestPathType);
     UtAfp.Write1Str(os, DestPath);
     wr.Write((byte)NewNameType);
     UtAfp.Write1Str(os, NewName);
     return os.ToArray();
 }
예제 #4
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)27); // kFPRead    
     wr.Write((byte)0);
     wr.Write((ushort)OForkRefNum);
     wr.Write((uint)Offset);
     wr.Write((uint)ReqCount);
     wr.Write((byte)NewLineMask);
     wr.Write((byte)NewLineChar);
     return os.ToArray();
 }
예제 #5
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)18); // kFPLogin
     UtAfp.Write1Str(os, AFPVersion);
     UtAfp.Write1Str(os, "DHCAST128");
     UtAfp.Write1Str(os, UserID);
     UtAfp.Even(os);
     wr.Write(Ma);
     return os.ToArray();
 }
예제 #6
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)30); // kFPSetFileParms  
     wr.Write((byte)Pad);
     wr.Write((ushort)VolumeID);
     wr.Write((uint)DirectoryID);
     wr.Write((ushort)Bitmap);
     wr.Write((byte)PathType);
     UtAfp.Write1Str(os, Path);
     if (0 != (Bitmap & (1U))) wr.Write((ushort)Parms.Attributes.Value);
     if (0 != (Bitmap & (4U))) wr.Write((uint)Parms.CreationDate.Value);
     if (0 != (Bitmap & (8U))) wr.Write((uint)Parms.ModificationDate.Value);
     if (0 != (Bitmap & (16U))) wr.Write((uint)Parms.CreationDate.Value);
     if (0 != (Bitmap & (32U))) wr.Write(Parms.FinderInfo, 0, 32);
     if (0 != (Bitmap & (0x8000U))) {
         wr.Write((uint)Parms.UnixPrivs.uid);
         wr.Write((uint)Parms.UnixPrivs.gid);
         wr.Write((uint)Parms.UnixPrivs.permissions);
         wr.Write((uint)Parms.UnixPrivs.ua_permissions);
     }
     return os.ToArray();
 }
예제 #7
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)7); // FPCreateFile 
     wr.Write((byte)Flag);
     wr.Write((ushort)VolumeID);
     wr.Write((uint)DirectoryID);
     wr.Write((byte)PathType);
     UtAfp.Write1Str(os, Path);
     return os.ToArray();
 }
예제 #8
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)18); // kFPLogin
     UtAfp.Write1Str(os, AFPVersion);
     UtAfp.Write1Str(os, "2-Way Randnum Exchange");
     UtAfp.Write1Str(os, UserID);
     return os.ToArray();
 }
예제 #9
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)68); // kFPEnumerateExt2    
     wr.Write((byte)Pad);
     wr.Write((ushort)VolumeID);
     wr.Write((uint)DirectoryID);
     wr.Write((ushort)FileBitmap);
     wr.Write((ushort)DirectoryBitmap);
     wr.Write((ushort)ReqCount);
     wr.Write((uint)StartIndex);
     wr.Write((uint)MaxReplySize);
     wr.Write((byte)PathType);
     UtAfp.Write1Str(os, Path);
     UtPadding.Write2(os);
     return os.ToArray();
 }
예제 #10
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)26); // kFPOpenFork 
     wr.Write((byte)Flag);
     wr.Write((ushort)VolumeID);
     wr.Write((uint)DirectoryID);
     wr.Write((ushort)Bitmap);
     wr.Write((ushort)AccessMode);
     wr.Write((byte)PathType);
     UtAfp.Write1Str(os, Path);
     return os.ToArray();
 }
예제 #11
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)24); // kFPOpenVol 
     wr.Write((byte)0);
     wr.Write((ushort)Bitmap);
     UtAfp.Write1Str(os, VolumeName);
     return os.ToArray();
 }
예제 #12
0
 public byte[] ToArray(ushort RequestID) {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)0);// REQ
     wr.Write((byte)1); // Command.CloseSession
     wr.Write((ushort)RequestID);
     wr.Write((uint)0); // off
     wr.Write((uint)0); // len
     wr.Write((uint)0); // reserved
     return os.ToArray();
 }
예제 #13
0
        public byte[] ToArray(ushort RequestID) {
            byte[] bin = RequestPayload.ToArray();

            MemoryStream os = new MemoryStream();
            BEW wr = new BEW(os);
            wr.Write((byte)0);// REQ
            wr.Write((byte)6); // Write
            wr.Write((ushort)RequestID);
            wr.Write((uint)WriteOffset); // off
            wr.Write(Convert.ToUInt32(bin.Length)); // len
            wr.Write((uint)0); // reserved
            wr.Write(bin);
            return os.ToArray();
        }
예제 #14
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)61); // kFPWriteExt      
     wr.Write((byte)Flag);
     wr.Write((ushort)OForkRefNum);
     wr.Write((Int64)Offset);
     wr.Write((Int64)ReqCount);
     wr.Write(ForkData, x, Convert.ToInt32(ReqCount));
     return os.ToArray();
 }
예제 #15
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)2); // kFPCloseVol  
     wr.Write((byte)0);
     wr.Write((ushort)VolumeID);
     return os.ToArray();
 }
예제 #16
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)8); // kFPDelete 
     wr.Write((byte)Pad);
     wr.Write((ushort)VolumeID);
     wr.Write((uint)DirectoryID);
     wr.Write((byte)PathType);
     UtAfp.Write1Str(os, Path);
     return os.ToArray();
 }
예제 #17
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)4); // kFPCloseFork   
     wr.Write((byte)0);
     wr.Write((ushort)Fork);
     return os.ToArray();
 }
예제 #18
0
        public byte[] ToArray() {
            if (EncPasswd == null) throw new NullReferenceException("EncPasswd");
            if (EncPasswd.Length != 8) throw new ArgumentException("EncPasswd.Length != 8");
            if (RandKey == null) throw new NullReferenceException("RandKey");
            if (RandKey.Length != 8) throw new ArgumentException("RandKey.Length != 8");

            MemoryStream os = new MemoryStream();
            BEW wr = new BEW(os);
            wr.Write((byte)19); // kFPLoginCont 
            wr.Write((byte)0);
            wr.Write((ushort)ContID);
            os.Write(EncPasswd, 0, 8);
            os.Write(RandKey, 0, 8);
            return os.ToArray();
        }
예제 #19
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)34); // kFPGetFileDirParms  
     wr.Write((byte)0);
     wr.Write((ushort)VolumeID);
     wr.Write((uint)DirectoryID);
     wr.Write((ushort)FileBitmap);
     wr.Write((ushort)DirectoryBitmap);
     wr.Write((byte)2); // Long names
     UtAfp.Write1Str(os, Path);
     return os.ToArray();
 }
예제 #20
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)19); // kFPLoginCont 
     wr.Write((byte)0);
     wr.Write((ushort)ContID);
     os.Write(Nonce1Passwd, 0, 16 + 64);
     return os.ToArray();
 }
예제 #21
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)31); // kFPSetForkParms   
     wr.Write((byte)Pad);
     wr.Write((ushort)OForkRefNum);
     wr.Write((ushort)FileBitmap);
     if (0 != (FileBitmap & (uint)AfpFileBitmap.DataForkLength)) { wr.Write(Convert.ToUInt32(ForkLen64)); }
     if (0 != (FileBitmap & (uint)AfpFileBitmap.ExtDataForkLength)) { wr.Write(Convert.ToUInt64(ForkLen64)); }
     if (0 != (FileBitmap & (uint)AfpFileBitmap.ResourceForkLength)) { wr.Write(Convert.ToUInt32(ForkLen64)); }
     if (0 != (FileBitmap & (uint)AfpFileBitmap.ExtResourceForkLength)) { wr.Write(Convert.ToUInt64(ForkLen64)); }
     return os.ToArray();
 }
예제 #22
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)18); // kFPLogin
     UtAfp.Write1Str(os, AFPVersion);
     UtAfp.Write1Str(os, "No User Authent");
     return os.ToArray();
 }
예제 #23
0
 public byte[] ToArray() {
     MemoryStream os = new MemoryStream();
     BEW wr = new BEW(os);
     wr.Write((byte)18); // kFPLogin
     UtAfp.Write1Str(os, AFPVersion);
     UtAfp.Write1Str(os, "Cleartxt Passwrd");
     UtAfp.Write1Str(os, UserName);
     if (0 != ((int)os.Position & 1)) wr.Write((byte)0);
     wr.Write(Encoding.ASCII.GetBytes(Passwd.PadRight(8, '\0').Substring(0, 8)));
     return os.ToArray();
 }