using System; using System.Runtime.InteropServices; using System.Text; namespace Sony.NP { // Token: 0x02000131 RID: 305 internal class MemoryBuffer { // Token: 0x0600063F RID: 1599 RVA: 0x000115B6 File Offset: 0x000105B6 public MemoryBuffer(NpMemoryBuffer pointer) { this.rawBuffer.data = pointer.data; this.rawBuffer.size = pointer.size; this.pos = this.rawBuffer.data; } // Token: 0x06000640 RID: 1600 RVA: 0x000115F6 File Offset: 0x000105F6 public void CheckStartMarker() { this.CheckMarker(MemoryBuffer.BufferIntegrityChecks.BufferBegin); } // Token: 0x06000641 RID: 1601 RVA: 0x00011601 File Offset: 0x00010601 public void CheckEndMarker() { this.CheckMarker(MemoryBuffer.BufferIntegrityChecks.BufferEnd); } // Token: 0x06000642 RID: 1602 RVA: 0x0001160C File Offset: 0x0001060C public void CheckMarker(MemoryBuffer.BufferIntegrityChecks value) { byte b = Marshal.ReadByte(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 1L); byte b2 = Marshal.ReadByte(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 1L); byte b3 = Marshal.ReadByte(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 1L); byte b4 = Marshal.ReadByte(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 1L); if (b == 255 && b2 == 254 && b3 == 253 && (MemoryBuffer.BufferIntegrityChecks)b4 == value) { return; } throw new NpToolkitException("MemoryBuffer - CheckMarker error - Expecting " + value.ToString()); } // Token: 0x06000643 RID: 1603 RVA: 0x000116F4 File Offset: 0x000106F4 public void CheckBufferOverflow(string method) { long num = this.pos.ToInt64() - this.rawBuffer.data.ToInt64(); if ((uint)num > this.rawBuffer.size) { throw new NpToolkitException(string.Concat(new object[] { "MemoryBuffer - Overflow error detected. (", method, ") (", num, ",", this.rawBuffer.size, ")" })); } } // Token: 0x06000644 RID: 1604 RVA: 0x0001178C File Offset: 0x0001078C public bool ReadBool() { this.CheckBufferOverflow("ReadBool"); byte b = Marshal.ReadByte(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 1L); return b != 0; } // Token: 0x06000645 RID: 1605 RVA: 0x000117E0 File Offset: 0x000107E0 public sbyte ReadInt8() { this.CheckBufferOverflow("ReadInt8"); sbyte b = (sbyte)Marshal.ReadByte(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 1L); return b; } // Token: 0x06000646 RID: 1606 RVA: 0x00011828 File Offset: 0x00010828 public byte ReadUInt8() { this.CheckBufferOverflow("ReadUInt8"); byte b = Marshal.ReadByte(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 1L); return b; } // Token: 0x06000647 RID: 1607 RVA: 0x0001186C File Offset: 0x0001086C public short ReadInt16() { this.CheckBufferOverflow("ReadInt16"); short num = Marshal.ReadInt16(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 2L); return num; } // Token: 0x06000648 RID: 1608 RVA: 0x000118B0 File Offset: 0x000108B0 public ushort ReadUInt16() { this.CheckBufferOverflow("ReadUInt16"); ushort num = (ushort)Marshal.ReadInt16(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 2L); return num; } // Token: 0x06000649 RID: 1609 RVA: 0x000118F8 File Offset: 0x000108F8 public int ReadInt32() { this.CheckBufferOverflow("ReadInt32"); int num = Marshal.ReadInt32(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 4L); return num; } // Token: 0x0600064A RID: 1610 RVA: 0x0001193C File Offset: 0x0001093C public uint ReadUInt32() { this.CheckBufferOverflow("ReadUInt32"); uint num = (uint)Marshal.ReadInt32(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 4L); return num; } // Token: 0x0600064B RID: 1611 RVA: 0x00011980 File Offset: 0x00010980 public long ReadInt64() { this.CheckBufferOverflow("ReadInt64"); long num = Marshal.ReadInt64(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 8L); return num; } // Token: 0x0600064C RID: 1612 RVA: 0x000119C4 File Offset: 0x000109C4 public ulong ReadUInt64() { this.CheckBufferOverflow("ReadUInt64"); ulong num = (ulong)Marshal.ReadInt64(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 8L); return num; } // Token: 0x0600064D RID: 1613 RVA: 0x00011A08 File Offset: 0x00010A08 public IntPtr ReadPtr() { this.CheckBufferOverflow("ReadPtr"); long num = Marshal.ReadInt64(this.pos); this.pos = new IntPtr(this.pos.ToInt64() + 8L); IntPtr intPtr = new IntPtr(num); return intPtr; } // Token: 0x0600064E RID: 1614 RVA: 0x00011A58 File Offset: 0x00010A58 public double ReadDouble() { this.CheckBufferOverflow("ReadDouble"); double[] array = new double[1]; Marshal.Copy(this.pos, array, 0, 1); this.pos = new IntPtr(this.pos.ToInt64() + 8L); return array[0]; } // Token: 0x0600064F RID: 1615 RVA: 0x00011AA8 File Offset: 0x00010AA8 public uint ReadData(ref byte[] data) { this.CheckBufferOverflow("ReadData"); uint num = this.ReadUInt32(); uint num2; if (num == 0U) { num2 = 0U; } else { if (data == null || (long)data.Length != (long)((ulong)num)) { data = new byte[num]; } Marshal.Copy(this.pos, data, 0, (int)num); this.pos = new IntPtr(this.pos.ToInt64() + (long)((ulong)num)); num2 = num; } return num2; } // Token: 0x06000650 RID: 1616 RVA: 0x00011B28 File Offset: 0x00010B28 public uint ReadData(ref byte[] data, uint startIndex) { this.CheckBufferOverflow("ReadData"); uint num = this.ReadUInt32(); uint num2; if (num == 0U) { num2 = 0U; } else { if (data == null || (ulong)(startIndex + num) > (ulong)((long)data.Length)) { byte[] array = new byte[num]; if (data != null) { Array.Copy(data, array, (long)((ulong)startIndex)); } data = array; } Marshal.Copy(this.pos, data, (int)startIndex, (int)num); this.pos = new IntPtr(this.pos.ToInt64() + (long)((ulong)num)); num2 = num; } return num2; } // Token: 0x06000651 RID: 1617 RVA: 0x00011BC4 File Offset: 0x00010BC4 public void ReadString(ref string str) { this.CheckBufferOverflow("ReadString"); byte[] array = null; uint num = this.ReadData(ref array); if (num == 0U) { str = ""; } else { str = Encoding.UTF8.GetString(array, 0, array.Length); } } // Token: 0x06000652 RID: 1618 RVA: 0x00011C10 File Offset: 0x00010C10 public override string ToString() { long num = this.pos.ToInt64() - this.rawBuffer.data.ToInt64(); return string.Concat(new object[] { "Memorry buffer : Data = (", this.rawBuffer.data.ToInt64().ToString("X"), ") Size = (", this.rawBuffer.size, ") Read = (", num, ")" }); } // Token: 0x040004FA RID: 1274 private NpMemoryBuffer rawBuffer; // Token: 0x040004FB RID: 1275 private IntPtr pos; // Token: 0x02000132 RID: 306 public enum BufferIntegrityChecks { // Token: 0x040004FD RID: 1277 BufferBegin, // Token: 0x040004FE RID: 1278 BufferEnd, // Token: 0x040004FF RID: 1279 OnlineUserBegin, // Token: 0x04000500 RID: 1280 OnlineUserEnd, // Token: 0x04000501 RID: 1281 NpOnlineIdBegin, // Token: 0x04000502 RID: 1282 NpOnlineIdEnd, // Token: 0x04000503 RID: 1283 SceNpIdBegin, // Token: 0x04000504 RID: 1284 SceNpIdEnd, // Token: 0x04000505 RID: 1285 NpCountryCodeBegin, // Token: 0x04000506 RID: 1286 NpCountryCodeEnd, // Token: 0x04000507 RID: 1287 NpTitleIdBegin, // Token: 0x04000508 RID: 1288 NpTitleIdEnd, // Token: 0x04000509 RID: 1289 NpLanguageCodeBegin, // Token: 0x0400050A RID: 1290 NpLanguageCodeEnd, // Token: 0x0400050B RID: 1291 PNGBegin, // Token: 0x0400050C RID: 1292 PNGEnd, // Token: 0x0400050D RID: 1293 FriendsBegin, // Token: 0x0400050E RID: 1294 FriendsEnd, // Token: 0x0400050F RID: 1295 FriendBegin, // Token: 0x04000510 RID: 1296 FriendEnd, // Token: 0x04000511 RID: 1297 FriendsOfFriendsBegin, // Token: 0x04000512 RID: 1298 FriendsOfFriendsEnd, // Token: 0x04000513 RID: 1299 BlockedUsersBegin, // Token: 0x04000514 RID: 1300 BlockedUsersEnd, // Token: 0x04000515 RID: 1301 ProfileBegin, // Token: 0x04000516 RID: 1302 ProfileEnd, // Token: 0x04000517 RID: 1303 RealNameBegin, // Token: 0x04000518 RID: 1304 RealNameEnd, // Token: 0x04000519 RID: 1305 PresenceBegin, // Token: 0x0400051A RID: 1306 PresenceEnd, // Token: 0x0400051B RID: 1307 PlatformPresenceBegin, // Token: 0x0400051C RID: 1308 PlatformPresenceEnd, // Token: 0x0400051D RID: 1309 NpProfilesBegin, // Token: 0x0400051E RID: 1310 NpProfilesEnd, // Token: 0x0400051F RID: 1311 BandwidthInfoBegin, // Token: 0x04000520 RID: 1312 BandwidthInfoEnd, // Token: 0x04000521 RID: 1313 NetStateBasicBegin, // Token: 0x04000522 RID: 1314 NetStateBasicEnd, // Token: 0x04000523 RID: 1315 NetStateDetailedBegin, // Token: 0x04000524 RID: 1316 NetStateDetailedEnd, // Token: 0x04000525 RID: 1317 UnlockedTrophiesBegin, // Token: 0x04000526 RID: 1318 UnlockedTrophiesEnd, // Token: 0x04000527 RID: 1319 TrophyPackSummaryBegin, // Token: 0x04000528 RID: 1320 TrophyPackSummaryEnd, // Token: 0x04000529 RID: 1321 TrophyPackGroupBegin, // Token: 0x0400052A RID: 1322 TrophyPackGroupEnd, // Token: 0x0400052B RID: 1323 TrophyPackTrophyBegin, // Token: 0x0400052C RID: 1324 TrophyPackTrophyEnd, // Token: 0x0400052D RID: 1325 TempRankBegin, // Token: 0x0400052E RID: 1326 TempRankEnd, // Token: 0x0400052F RID: 1327 RangeOfRanksBegin, // Token: 0x04000530 RID: 1328 RangeOfRanksEnd, // Token: 0x04000531 RID: 1329 FriendsRanksBegin, // Token: 0x04000532 RID: 1330 FriendsRanksEnd, // Token: 0x04000533 RID: 1331 UsersRanksBegin, // Token: 0x04000534 RID: 1332 UsersRanksEnd, // Token: 0x04000535 RID: 1333 SetGameDataBegin, // Token: 0x04000536 RID: 1334 SetGameDataEnd, // Token: 0x04000537 RID: 1335 GetGameDataBegin, // Token: 0x04000538 RID: 1336 GetGameDataEnd, // Token: 0x04000539 RID: 1337 WorldsBegin, // Token: 0x0400053A RID: 1338 WorldsEnd, // Token: 0x0400053B RID: 1339 CreateRoomBegin, // Token: 0x0400053C RID: 1340 CreateRoomEnd, // Token: 0x0400053D RID: 1341 RoomBegin, // Token: 0x0400053E RID: 1342 RoomEnd, // Token: 0x0400053F RID: 1343 RoomsBegin, // Token: 0x04000540 RID: 1344 RoomsEnd, // Token: 0x04000541 RID: 1345 RoomPingTimeBegin, // Token: 0x04000542 RID: 1346 RoomPingTimeEnd, // Token: 0x04000543 RID: 1347 GetDataBegin, // Token: 0x04000544 RID: 1348 GetDataEnd, // Token: 0x04000545 RID: 1349 TssDataBegin, // Token: 0x04000546 RID: 1350 TssDataEnd, // Token: 0x04000547 RID: 1351 TusVariablesBegin, // Token: 0x04000548 RID: 1352 TusVariablesEnd, // Token: 0x04000549 RID: 1353 TusAtomicAddToAndGetVariableBegin, // Token: 0x0400054A RID: 1354 TusAtomicAddToAndGetVariableEnd, // Token: 0x0400054B RID: 1355 TusDataBegin, // Token: 0x0400054C RID: 1356 TusDataEnd, // Token: 0x0400054D RID: 1357 GameDataMessagesBegin, // Token: 0x0400054E RID: 1358 GameDataMessagesEnd, // Token: 0x0400054F RID: 1359 GameDataMessageThumbnailBegin, // Token: 0x04000550 RID: 1360 GameDataMessageThumbnailEnd, // Token: 0x04000551 RID: 1361 GameDataMessageAttachmentBegin, // Token: 0x04000552 RID: 1362 GameDataMessageAttachmentEnd, // Token: 0x04000553 RID: 1363 GameDataMessageBegin, // Token: 0x04000554 RID: 1364 GameDataMessageEnd, // Token: 0x04000555 RID: 1365 GameDataMessageDetailsBegin, // Token: 0x04000556 RID: 1366 GameDataMessageDetailsEnd, // Token: 0x04000557 RID: 1367 CategoriesBegin, // Token: 0x04000558 RID: 1368 CategoriesEnd, // Token: 0x04000559 RID: 1369 CategoryBegin, // Token: 0x0400055A RID: 1370 CategoryEnd, // Token: 0x0400055B RID: 1371 SubCategoryBegin, // Token: 0x0400055C RID: 1372 SubCategoryEnd, // Token: 0x0400055D RID: 1373 ProductsBegin, // Token: 0x0400055E RID: 1374 ProductsEnd, // Token: 0x0400055F RID: 1375 ProductBegin, // Token: 0x04000560 RID: 1376 ProductEnd, // Token: 0x04000561 RID: 1377 ProductDetailsBegin, // Token: 0x04000562 RID: 1378 ProductDetailsEnd, // Token: 0x04000563 RID: 1379 SkuInfoBegin, // Token: 0x04000564 RID: 1380 SkuInfoEnd, // Token: 0x04000565 RID: 1381 ServiceEntitlementsBegin, // Token: 0x04000566 RID: 1382 ServiceEntitlementsEnd, // Token: 0x04000567 RID: 1383 ServiceEntitlementBegin, // Token: 0x04000568 RID: 1384 ServiceEntitlementEnd, // Token: 0x04000569 RID: 1385 AuthCodeBegin, // Token: 0x0400056A RID: 1386 AuthCodeEnd, // Token: 0x0400056B RID: 1387 IdTokenBegin, // Token: 0x0400056C RID: 1388 IdTokenEnd, // Token: 0x0400056D RID: 1389 WordFilterBegin, // Token: 0x0400056E RID: 1390 WordFilterEnd, // Token: 0x0400056F RID: 1391 FriendListUpdateBegin, // Token: 0x04000570 RID: 1392 FriendListUpdateEnd, // Token: 0x04000571 RID: 1393 BlocklistUpdateBegin, // Token: 0x04000572 RID: 1394 BlocklistUpdateEnd, // Token: 0x04000573 RID: 1395 PresenceUpdateBegin, // Token: 0x04000574 RID: 1396 PresenceUpdateEnd, // Token: 0x04000575 RID: 1397 UserStateChangeBegin, // Token: 0x04000576 RID: 1398 UserStateChangeEnd, // Token: 0x04000577 RID: 1399 NetStateChangeBegin, // Token: 0x04000578 RID: 1400 NetStateChangeEnd, // Token: 0x04000579 RID: 1401 RefreshRoomBegin, // Token: 0x0400057A RID: 1402 RefreshRoomEnd, // Token: 0x0400057B RID: 1403 InvitationReceivedBegin, // Token: 0x0400057C RID: 1404 InvitationReceivedEnd, // Token: 0x0400057D RID: 1405 NewRoomMessageBegin, // Token: 0x0400057E RID: 1406 NewRoomMessageEnd, // Token: 0x0400057F RID: 1407 NewInGameMessageBegin, // Token: 0x04000580 RID: 1408 NewInGameMessageEnd, // Token: 0x04000581 RID: 1409 NewGameDataMessageBegin, // Token: 0x04000582 RID: 1410 NewGameDataMessageEnd, // Token: 0x04000583 RID: 1411 SessionInvitationEventBegin, // Token: 0x04000584 RID: 1412 SessionInvitationEventEnd, // Token: 0x04000585 RID: 1413 PlayTogetherHostEventBegin, // Token: 0x04000586 RID: 1414 PlayTogetherHostEventEnd, // Token: 0x04000587 RID: 1415 GameCustomDataEventBegin, // Token: 0x04000588 RID: 1416 GameCustomDataEventEnd, // Token: 0x04000589 RID: 1417 CheckPlusBegin, // Token: 0x0400058A RID: 1418 CheckPlusEnd, // Token: 0x0400058B RID: 1419 GetParentalControlInfoBegin, // Token: 0x0400058C RID: 1420 GetParentalControlInfoEnd } } }