steamd 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +4 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +6 -0
  7. data/Gemfile +3 -0
  8. data/LICENSE +21 -0
  9. data/README.md +51 -0
  10. data/Rakefile +22 -0
  11. data/bin/console +6 -0
  12. data/bin/setup +6 -0
  13. data/bin/steamd +6 -0
  14. data/grammar/class.treetop +63 -0
  15. data/grammar/enums.treetop +44 -0
  16. data/grammar/import.treetop +11 -0
  17. data/grammar/shared.treetop +62 -0
  18. data/grammar/steamd.treetop +15 -0
  19. data/language/emsg.steamd +1802 -0
  20. data/language/enums.steamd +989 -0
  21. data/language/eresult.steamd +119 -0
  22. data/language/gamecoordinator.steamd +17 -0
  23. data/language/header.steamd +37 -0
  24. data/language/netheader.steamd +62 -0
  25. data/language/steammsg.steamd +357 -0
  26. data/lib/ext/string.rb +33 -0
  27. data/lib/steamd.rb +40 -0
  28. data/lib/steamd/cli.rb +24 -0
  29. data/lib/steamd/cli_options.rb +58 -0
  30. data/lib/steamd/code_generator.rb +41 -0
  31. data/lib/steamd/generated/emsg.rb +3464 -0
  32. data/lib/steamd/generated/enums.rb +1750 -0
  33. data/lib/steamd/generated/eresult.rb +236 -0
  34. data/lib/steamd/generated/gamecoordinator.rb +119 -0
  35. data/lib/steamd/generated/header.rb +261 -0
  36. data/lib/steamd/generated/netheader.rb +315 -0
  37. data/lib/steamd/generated/steammsg.rb +2527 -0
  38. data/lib/steamd/generator.rb +6 -0
  39. data/lib/steamd/generator/generated_class.rb +128 -0
  40. data/lib/steamd/generator/generated_enum.rb +60 -0
  41. data/lib/steamd/generator/generated_import.rb +21 -0
  42. data/lib/steamd/generator/implementation.rb +83 -0
  43. data/lib/steamd/generator/ruby/class.erb +39 -0
  44. data/lib/steamd/generator/ruby/enum.erb +14 -0
  45. data/lib/steamd/generator/ruby/import.erb +1 -0
  46. data/lib/steamd/generator/ruby/ruby.rb +54 -0
  47. data/lib/steamd/generator/ruby/serializable_constant.rb +20 -0
  48. data/lib/steamd/generator/ruby/serializable_type.rb +93 -0
  49. data/lib/steamd/generator/ruby/serializable_variable.rb +85 -0
  50. data/lib/steamd/generator/ruby/steam_serializable.rb +89 -0
  51. data/lib/steamd/nodes/block_node.rb +14 -0
  52. data/lib/steamd/nodes/class_statement_node.rb +46 -0
  53. data/lib/steamd/nodes/class_type_node.rb +12 -0
  54. data/lib/steamd/nodes/enum_statement_node.rb +50 -0
  55. data/lib/steamd/nodes/enum_variable_node.rb +24 -0
  56. data/lib/steamd/nodes/import_statement_node.rb +26 -0
  57. data/lib/steamd/nodes/node.rb +3 -0
  58. data/lib/steamd/nodes/nodes.rb +10 -0
  59. data/lib/steamd/nodes/variable_node.rb +106 -0
  60. data/lib/steamd/parser.rb +157 -0
  61. data/lib/steamd/version.rb +14 -0
  62. data/steamd.gemspec +38 -0
  63. data/tasks/language.rake +11 -0
  64. metadata +220 -0
@@ -0,0 +1,989 @@
1
+
2
+ enum EUniverse
3
+ {
4
+ Invalid = 0;
5
+
6
+ Public = 1;
7
+ Beta = 2;
8
+ Internal = 3;
9
+ Dev = 4;
10
+
11
+ Max = 5;
12
+ };
13
+
14
+ enum EChatEntryType
15
+ {
16
+ Invalid = 0;
17
+
18
+ ChatMsg = 1;
19
+ Typing = 2;
20
+ InviteGame = 3;
21
+ Emote = 4; obsolete "No longer supported by clients"
22
+ LobbyGameStart = 5; obsolete "Listen for LobbyGameCreated_t callback instead"
23
+ LeftConversation = 6;
24
+ Entered = 7;
25
+ WasKicked = 8;
26
+ WasBanned = 9;
27
+ Disconnected = 10;
28
+ HistoricalChat = 11;
29
+ Reserved1 = 12;
30
+ Reserved2 = 13;
31
+ LinkBlocked = 14;
32
+ };
33
+
34
+ enum EPersonaState
35
+ {
36
+ Offline = 0;
37
+
38
+ Online = 1;
39
+ Busy = 2;
40
+ Away = 3;
41
+ Snooze = 4;
42
+ LookingToTrade = 5;
43
+ LookingToPlay = 6;
44
+
45
+ Max = 7;
46
+ };
47
+
48
+ enum EAccountType
49
+ {
50
+ Invalid = 0;
51
+
52
+ Individual = 1;
53
+ Multiseat = 2;
54
+ GameServer = 3;
55
+ AnonGameServer = 4;
56
+ Pending = 5;
57
+ ContentServer = 6;
58
+ Clan = 7;
59
+ Chat = 8;
60
+ ConsoleUser = 9;
61
+ AnonUser = 10;
62
+
63
+ Max = 11;
64
+ };
65
+
66
+ enum EFriendRelationship
67
+ {
68
+ None = 0;
69
+
70
+ Blocked = 1;
71
+ RequestRecipient = 2;
72
+ Friend = 3;
73
+ RequestInitiator = 4;
74
+ Ignored = 5;
75
+ IgnoredFriend = 6;
76
+ SuggestedFriend = 7;
77
+
78
+ Max = 8;
79
+ };
80
+
81
+ enum EAccountFlags flags
82
+ {
83
+ NormalUser = 0;
84
+
85
+ PersonaNameSet = 1;
86
+ Unbannable = 2;
87
+ PasswordSet = 4;
88
+ Support = 8;
89
+ Admin = 16;
90
+ Supervisor = 32;
91
+ AppEditor = 64;
92
+ HWIDSet = 128;
93
+ PersonalQASet = 256;
94
+ VacBeta = 512;
95
+ Debug = 1024;
96
+ Disabled = 2048;
97
+ LimitedUser = 4096;
98
+ LimitedUserForce = 8192;
99
+ EmailValidated = 16384;
100
+ MarketingTreatment = 32768;
101
+ OGGInviteOptOut = 65536;
102
+ ForcePasswordChange = 131072;
103
+ ForceEmailVerification = 262144;
104
+ LogonExtraSecurity = 524288;
105
+ LogonExtraSecurityDisabled = 1048576;
106
+ Steam2MigrationComplete = 2097152;
107
+ NeedLogs = 4194304;
108
+ Lockdown = 8388608;
109
+ MasterAppEditor = 16777216;
110
+ BannedFromWebAPI = 33554432;
111
+ ClansOnlyFromFriends = 67108864;
112
+ GlobalModerator = 134217728;
113
+ };
114
+
115
+ enum EClanPermission flags
116
+ {
117
+ Nobody = 0;
118
+
119
+ Owner = 1;
120
+ Officer = 2;
121
+ OwnerAndOfficer = 3;
122
+ Member = 4;
123
+ Moderator = 8;
124
+
125
+ OwnerOfficerModerator = Owner | Officer | Moderator; // 11
126
+ AllMembers = Owner | Officer | Moderator | Member ; // 15
127
+
128
+ OGGGameOwner = 16;
129
+
130
+ NonMember = 128;
131
+
132
+ MemberAllowed = NonMember | Member; // 132
133
+ ModeratorAllowed = NonMember | Member | Moderator; // 140
134
+ OfficerAllowed = NonMember | Member | Moderator | Officer; // 142
135
+ OwnerAllowed = NonMember | Member | Moderator | Officer | Owner; // 143
136
+ Anybody = NonMember | Member | Moderator | Officer | Owner; // 143
137
+ };
138
+
139
+ enum EChatPermission flags
140
+ {
141
+ Close = 1;
142
+ Invite = 2;
143
+ Talk = 8;
144
+ Kick = 16;
145
+ Mute = 32;
146
+ SetMetadata = 64;
147
+ ChangePermissions = 128;
148
+ Ban = 256;
149
+ ChangeAccess = 512;
150
+
151
+ EveryoneNotInClanDefault = Talk; // 8
152
+ EveryoneDefault = Talk | Invite; // 10
153
+
154
+ // todo: this doesn't seem correct...
155
+ MemberDefault = Ban | Kick | Talk | Invite; // 282
156
+
157
+ OfficerDefault = Ban | Kick | Talk | Invite; // 282
158
+ OwnerDefault = ChangeAccess | Ban | SetMetadata | Mute | Kick | Talk | Invite | Close; // 891
159
+
160
+ Mask = 1019;
161
+ };
162
+
163
+ enum EFriendFlags flags
164
+ {
165
+ None = 0;
166
+ Blocked = 1;
167
+ FriendshipRequested = 2;
168
+ Immediate = 4;
169
+ ClanMember = 8;
170
+ OnGameServer = 16;
171
+ RequestingFriendship = 128;
172
+ RequestingInfo = 256;
173
+ Ignored = 512;
174
+ IgnoredFriend = 1024;
175
+ Suggested = 2048;
176
+
177
+ FlagAll = 65535;
178
+ };
179
+
180
+ enum EPersonaStateFlag flags
181
+ {
182
+ HasRichPresence = 1;
183
+ InJoinableGame = 2;
184
+
185
+ OnlineUsingWeb = 256;
186
+ OnlineUsingMobile = 512;
187
+ OnlineUsingBigPicture = 1024;
188
+ OnlineUsingVR = 2048;
189
+ };
190
+
191
+ enum EClientPersonaStateFlag flags
192
+ {
193
+ Status = 1;
194
+ PlayerName = 2;
195
+ QueryPort = 4;
196
+ SourceID = 8;
197
+ Presence = 16;
198
+ Metadata = 32;
199
+ LastSeen = 64;
200
+ ClanInfo = 128;
201
+ GameExtraInfo = 256;
202
+ GameDataBlob = 512;
203
+ ClanTag = 1024;
204
+ Facebook = 2048;
205
+ };
206
+
207
+ enum EAppUsageEvent
208
+ {
209
+ GameLaunch = 1;
210
+ GameLaunchTrial = 2;
211
+ Media = 3;
212
+ PreloadStart = 4;
213
+ PreloadFinish = 5;
214
+ MarketingMessageView = 6;
215
+ InGameAdViewed = 7;
216
+ GameLaunchFreeWeekend = 8;
217
+ };
218
+
219
+ enum ELicenseFlags flags
220
+ {
221
+ None = 0;
222
+ Renew = 0x01;
223
+ RenewalFailed = 0x02;
224
+ Pending = 0x04;
225
+ Expired = 0x08;
226
+ CancelledByUser = 0x10;
227
+ CancelledByAdmin = 0x20;
228
+ LowViolenceContent = 0x40;
229
+ ImportedFromSteam2 = 0x80;
230
+ };
231
+
232
+ enum ELicenseType
233
+ {
234
+ NoLicense = 0;
235
+ SinglePurchase = 1;
236
+ SinglePurchaseLimitedUse = 2;
237
+ RecurringCharge = 3;
238
+ RecurringChargeLimitedUse = 4;
239
+ RecurringChargeLimitedUseWithOverages = 5;
240
+ RecurringOption = 6;
241
+ };
242
+
243
+ enum EPaymentMethod
244
+ {
245
+ None = 0;
246
+ ActivationCode = 1;
247
+ CreditCard = 2;
248
+ Giropay = 3;
249
+ PayPal = 4;
250
+ Ideal = 5;
251
+ PaySafeCard = 6;
252
+ Sofort = 7;
253
+ GuestPass = 8;
254
+ WebMoney = 9;
255
+ MoneyBookers = 10;
256
+ AliPay = 11;
257
+ Yandex = 12;
258
+ Kiosk = 13;
259
+ Qiwi = 14;
260
+ GameStop = 15;
261
+ HardwarePromo = 16;
262
+ MoPay = 17;
263
+ BoletoBancario = 18;
264
+ BoaCompraGold = 19;
265
+ BancoDoBrasilOnline = 20;
266
+ ItauOnline = 21;
267
+ BradescoOnline = 22;
268
+ Pagseguro = 23;
269
+ VisaBrazil = 24;
270
+ AmexBrazil = 25;
271
+ Aura = 26;
272
+ Hipercard = 27;
273
+ MastercardBrazil = 28;
274
+ DinersCardBrazil = 29;
275
+ AuthorizedDevice = 30;
276
+ MOLPoints = 31;
277
+ ClickAndBuy = 32;
278
+ Beeline = 33;
279
+ Konbini = 34;
280
+ EClubPoints = 35;
281
+ CreditCardJapan = 36;
282
+ BankTransferJapan = 37;
283
+ PayEasyJapan = 38;
284
+ Zong = 39;
285
+ CultureVoucher = 40;
286
+ BookVoucher = 41;
287
+ HappymoneyVoucher = 42;
288
+ ConvenientStoreVoucher = 43;
289
+ GameVoucher = 44;
290
+ Multibanco = 45;
291
+ Payshop = 46;
292
+ Maestro = 47;
293
+ OXXO = 48;
294
+ ToditoCash = 49;
295
+ Carnet = 50;
296
+ SPEI = 51;
297
+ ThreePay = 52;
298
+ IsBank = 53;
299
+ Garanti = 54;
300
+ Akbank = 55;
301
+ YapiKredi = 56;
302
+ Halkbank = 57;
303
+ BankAsya = 58;
304
+ Finansbank = 59;
305
+ DenizBank = 60;
306
+ PTT = 61;
307
+ CashU = 62;
308
+ OneCard = 63;
309
+ AutoGrant = 64;
310
+ WebMoneyJapan = 65;
311
+ Smart2PayTest = 66;
312
+ Wallet = 128;
313
+ Valve = 129;
314
+ SteamPressMaster = 130;
315
+ StorePromotion = 131;
316
+ OEMTicket = 256;
317
+ Split = 512;
318
+ Complimentary = 1024;
319
+ };
320
+
321
+ enum EIntroducerRouting
322
+ {
323
+ FileShare = 0; obsolete
324
+ P2PVoiceChat = 1;
325
+ P2PNetworking = 2;
326
+ };
327
+
328
+ enum EServerFlags flags
329
+ {
330
+ None = 0;
331
+ Active = 1;
332
+ Secure = 2;
333
+ Dedicated = 4;
334
+ Linux = 8;
335
+ Passworded = 16;
336
+ Private = 32;
337
+ };
338
+
339
+ enum EDenyReason
340
+ {
341
+ InvalidVersion = 1;
342
+ Generic = 2;
343
+ NotLoggedOn = 3;
344
+ NoLicense = 4;
345
+ Cheater = 5;
346
+ LoggedInElseWhere = 6;
347
+ UnknownText = 7;
348
+ IncompatibleAnticheat = 8;
349
+ MemoryCorruption = 9;
350
+ IncompatibleSoftware = 10;
351
+ SteamConnectionLost = 11;
352
+ SteamConnectionError = 12;
353
+ SteamResponseTimedOut = 13;
354
+ SteamValidationStalled = 14;
355
+ SteamOwnerLeftGuestUser = 15;
356
+ };
357
+
358
+ enum EClanRank
359
+ {
360
+ None = 0;
361
+ Owner = 1;
362
+ Officer = 2;
363
+ Member = 3;
364
+ Moderator = 4;
365
+ };
366
+
367
+ enum EClanRelationship
368
+ {
369
+ None = 0;
370
+ Blocked = 1;
371
+ Invited = 2;
372
+ Member = 3;
373
+ Kicked = 4;
374
+ KickAcknowledged = 5;
375
+ };
376
+
377
+ enum EAuthSessionResponse
378
+ {
379
+ OK = 0;
380
+ UserNotConnectedToSteam = 1;
381
+ NoLicenseOrExpired = 2;
382
+ VACBanned = 3;
383
+ LoggedInElseWhere = 4;
384
+ VACCheckTimedOut = 5;
385
+ AuthTicketCanceled = 6;
386
+ AuthTicketInvalidAlreadyUsed = 7;
387
+ AuthTicketInvalid = 8;
388
+ PublisherIssuedBan = 9;
389
+ };
390
+
391
+ enum EChatRoomEnterResponse
392
+ {
393
+ Success = 1;
394
+ DoesntExist = 2;
395
+ NotAllowed = 3;
396
+ Full = 4;
397
+ Error = 5;
398
+ Banned = 6;
399
+ Limited = 7;
400
+ ClanDisabled = 8;
401
+ CommunityBan = 9;
402
+ MemberBlockedYou = 10;
403
+ YouBlockedMember = 11;
404
+
405
+ // these appear to have been removed
406
+ NoRankingDataLobby = 12; obsolete
407
+ NoRankingDataUser = 13; obsolete
408
+ RankOutOfRange = 14; obsolete
409
+ };
410
+
411
+ enum EChatRoomType
412
+ {
413
+ Friend = 1;
414
+ MUC = 2;
415
+ Lobby = 3;
416
+ };
417
+
418
+ enum EChatInfoType
419
+ {
420
+ StateChange = 1;
421
+ InfoUpdate = 2;
422
+ MemberLimitChange = 3;
423
+ };
424
+
425
+ enum EChatAction
426
+ {
427
+ InviteChat = 1;
428
+ Kick = 2;
429
+ Ban = 3;
430
+ UnBan = 4;
431
+ StartVoiceSpeak = 5;
432
+ EndVoiceSpeak = 6;
433
+ LockChat = 7;
434
+ UnlockChat = 8;
435
+ CloseChat = 9;
436
+ SetJoinable = 10;
437
+ SetUnjoinable = 11;
438
+ SetOwner = 12;
439
+ SetInvisibleToFriends = 13;
440
+ SetVisibleToFriends = 14;
441
+ SetModerated = 15;
442
+ SetUnmoderated = 16;
443
+ };
444
+
445
+ enum EChatActionResult
446
+ {
447
+ Success = 1;
448
+ Error = 2;
449
+ NotPermitted = 3;
450
+ NotAllowedOnClanMember = 4;
451
+ NotAllowedOnBannedUser = 5;
452
+ NotAllowedOnChatOwner = 6;
453
+ NotAllowedOnSelf = 7;
454
+ ChatDoesntExist = 8;
455
+ ChatFull = 9;
456
+ VoiceSlotsFull = 10;
457
+ };
458
+
459
+ enum EAppInfoSection
460
+ {
461
+ Unknown = 0;
462
+ All = 1;
463
+
464
+ First = 2;
465
+ Common = 2;
466
+ Extended = 3;
467
+ Config = 4;
468
+ Stats = 5;
469
+ Install = 6;
470
+ Depots = 7;
471
+ VAC = 8;
472
+ DRM = 9;
473
+ UFS = 10;
474
+ OGG = 11;
475
+ Items = 12; obsolete
476
+ ItemsUNUSED = 12; obsolete
477
+ Policies = 13;
478
+ SysReqs = 14;
479
+ Community = 15;
480
+ Store = 16;
481
+
482
+ Max = 17;
483
+ };
484
+
485
+ enum EContentDownloadSourceType
486
+ {
487
+ Invalid = 0;
488
+
489
+ CS = 1;
490
+ CDN = 2;
491
+ LCS = 3;
492
+ ProxyCache = 4;
493
+
494
+ Max = 5;
495
+ };
496
+
497
+ enum EPlatformType
498
+ {
499
+ Unknown = 0;
500
+
501
+ Win32 = 1;
502
+ Win64 = 2;
503
+ Linux = 3;
504
+ OSX = 4;
505
+ PS3 = 5;
506
+
507
+ Max = 6;
508
+ };
509
+
510
+ enum EOSType
511
+ {
512
+ Unknown = -1;
513
+
514
+ UMQ = -400;
515
+
516
+ PS3 = -300;
517
+
518
+ MacOSUnknown = -102;
519
+ MacOS104 = -101;
520
+ MacOS105 = -100;
521
+ MacOS1058 = -99;
522
+ MacOS106 = -95;
523
+ MacOS1063 = -94;
524
+ MacOS1064_slgu = -93;
525
+ MacOS1067 = -92;
526
+ MacOS107 = -90;
527
+ MacOS108 = -89;
528
+ MacOS109 = -88;
529
+ MacOS1010 = -87;
530
+
531
+ LinuxUnknown = -203;
532
+ Linux22 = -202;
533
+ Linux24 = -201;
534
+ Linux26 = -200;
535
+ Linux32 = -199;
536
+ Linux35 = -198;
537
+ Linux36 = -197;
538
+ Linux310 = -196;
539
+
540
+ WinUnknown = 0;
541
+ Win311 = 1;
542
+ Win95 = 2;
543
+ Win98 = 3;
544
+ WinME = 4;
545
+ WinNT = 5;
546
+ Win200 = 6;
547
+ WinXP = 7;
548
+ Win2003 = 8;
549
+ WinVista = 9;
550
+ Win7 = 10;
551
+ Windows7 = 10; obsolete "renamed to Win7"
552
+ Win2008 = 11;
553
+ Win2012 = 12;
554
+ Win8 = 13;
555
+ Windows8 = 13; obsolete "renamed to Win8"
556
+ Win81 = 14;
557
+ Windows81 = 14; obsolete "renamed to Win81"
558
+ Win2012R2 = 15;
559
+ Win10 = 16;
560
+
561
+ WinMAX = 15;
562
+
563
+ Max = 26;
564
+ };
565
+
566
+ enum EServerType
567
+ {
568
+ Invalid = -1;
569
+ First = 0;
570
+
571
+ Shell = 0;
572
+ GM = 1;
573
+ BUM = 2;
574
+ AM = 3;
575
+ BS = 4;
576
+ VS = 5;
577
+ ATS = 6;
578
+ CM = 7;
579
+ FBS = 8;
580
+ FG = 9; obsolete "renamed to BoxMonitor"
581
+ BoxMonitor = 9;
582
+ SS = 10;
583
+ DRMS = 11;
584
+ HubOBSOLETE = 12; obsolete
585
+ Console = 13;
586
+ ASBOBSOLETE = 14; obsolete
587
+ PICS = 14;
588
+ Client = 15;
589
+ BootstrapOBSOLETE = 16; obsolete;
590
+ DP = 17;
591
+ WG = 18;
592
+ SM = 19;
593
+ UFS = 21;
594
+ Util = 23;
595
+ DSS = 24; obsolete "renamed to Community"
596
+ Community = 24;
597
+ P2PRelayOBSOLETE = 25; obsolete
598
+ AppInformation = 26;
599
+ Spare = 27;
600
+ FTS = 28;
601
+ EPM = 29;
602
+ PS = 30;
603
+ IS = 31;
604
+ CCS = 32;
605
+ DFS = 33;
606
+ LBS = 34;
607
+ MDS = 35;
608
+ CS = 36;
609
+ GC = 37;
610
+ NS = 38;
611
+ OGS = 39;
612
+ WebAPI = 40;
613
+ UDS = 41;
614
+ MMS = 42;
615
+ GMS = 43;
616
+ KGS = 44;
617
+ UCM = 45;
618
+ RM = 46;
619
+ FS = 47;
620
+ Econ = 48;
621
+ Backpack = 49;
622
+ UGS = 50;
623
+ Store = 51;
624
+ MoneyStats = 52;
625
+ CRE = 53;
626
+ UMQ = 54;
627
+ Workshop = 55;
628
+ BRP = 56;
629
+ GCH = 57;
630
+ MPAS = 58;
631
+ Trade = 59;
632
+ Secrets = 60;
633
+ Logsink = 61;
634
+ Market = 62;
635
+ Quest = 63;
636
+ WDS = 64;
637
+ ACS = 65;
638
+ PNP = 66;
639
+
640
+ Max = 67;
641
+ };
642
+
643
+ enum EBillingType
644
+ {
645
+ NoCost = 0;
646
+ BillOnceOnly = 1;
647
+ BillMonthly = 2;
648
+ ProofOfPrepurchaseOnly = 3;
649
+ GuestPass = 4;
650
+ HardwarePromo = 5;
651
+ Gift = 6;
652
+ AutoGrant = 7;
653
+ OEMTicket = 8;
654
+ RecurringOption = 9;
655
+
656
+ NumBillingTypes = 10;
657
+ };
658
+
659
+ enum EActivationCodeClass<uint>
660
+ {
661
+ WonCDKey = 0;
662
+ ValveCDKey = 1;
663
+ Doom3CDKey = 2;
664
+ DBLookup = 3;
665
+ Steam2010Key = 4;
666
+ Max = 5;
667
+ Test = 2147483647;
668
+ Invalid = 4294967295;
669
+ };
670
+
671
+
672
+ enum EChatMemberStateChange flags
673
+ {
674
+ Entered = 0x01;
675
+ Left = 0x02;
676
+ Disconnected = 0x04;
677
+ Kicked = 0x08;
678
+ Banned = 0x10;
679
+
680
+ VoiceSpeaking = 0x1000;
681
+ VoiceDoneSpeaking = 0x2000;
682
+ };
683
+
684
+ enum ERegionCode<byte>
685
+ {
686
+ USEast = 0x00;
687
+ USWest = 0x01;
688
+ SouthAmerica = 0x02;
689
+ Europe = 0x03;
690
+ Asia = 0x04;
691
+ Australia = 0x05;
692
+ MiddleEast = 0x06;
693
+ Africa = 0x07;
694
+ World = 0xFF;
695
+ };
696
+
697
+ enum ECurrencyCode
698
+ {
699
+ Invalid = 0;
700
+
701
+ USD = 1;
702
+ GBP = 2;
703
+ EUR = 3;
704
+ CHF = 4;
705
+ RUB = 5;
706
+ PLN = 6;
707
+ BRL = 7;
708
+ JPY = 8;
709
+ NOK = 9;
710
+ IDR = 10;
711
+ MYR = 11;
712
+ PHP = 12;
713
+ SGD = 13;
714
+ THB = 14;
715
+ VND = 15;
716
+ KRW = 16;
717
+ TRY = 17;
718
+ UAH = 18;
719
+ MXN = 19;
720
+ CAD = 20;
721
+ AUD = 21;
722
+ NZD = 22;
723
+ CNY = 23;
724
+ INR = 24;
725
+ CLP = 25;
726
+ PEN = 26;
727
+ COP = 27;
728
+ ZAR = 28;
729
+ HKD = 29;
730
+ TWD = 30;
731
+ SAR = 31;
732
+ AED = 32;
733
+
734
+ Max = 33;
735
+ };
736
+
737
+ enum EDepotFileFlag flags
738
+ {
739
+ UserConfig = 1;
740
+ VersionedUserConfig = 2;
741
+ Encrypted = 4;
742
+ ReadOnly = 8;
743
+ Hidden = 16;
744
+ Executable = 32;
745
+ Directory = 64;
746
+ CustomExecutable = 128;
747
+ InstallScript = 256;
748
+ };
749
+
750
+ enum EWorkshopEnumerationType
751
+ {
752
+ RankedByVote = 0;
753
+ Recent = 1;
754
+ Trending = 2;
755
+ FavoriteOfFriends = 3;
756
+ VotedByFriends = 4;
757
+ ContentByFriends = 5;
758
+ RecentFromFollowedUsers = 6;
759
+ };
760
+
761
+ enum EPublishedFileVisibility
762
+ {
763
+ Public = 0;
764
+ FriendsOnly = 1;
765
+ Private = 2;
766
+ };
767
+
768
+ enum EWorkshopFileType
769
+ {
770
+ First = 0;
771
+
772
+ Community = 0;
773
+ Microtransaction = 1;
774
+ Collection = 2;
775
+ Art = 3;
776
+ Video = 4;
777
+ Screenshot = 5;
778
+ Game = 6;
779
+ Software = 7;
780
+ Concept = 8;
781
+ WebGuide = 9;
782
+ IntegratedGuide = 10;
783
+ Merch = 11;
784
+ ControllerBinding = 12;
785
+ SteamworksAccessInvite = 13;
786
+ SteamVideo = 14;
787
+ GameManagedItem = 15;
788
+
789
+ Max = 16;
790
+ };
791
+
792
+ enum EWorkshopFileAction
793
+ {
794
+ Played = 0;
795
+ Completed = 1;
796
+ };
797
+
798
+ enum EEconTradeResponse
799
+ {
800
+ Accepted = 0;
801
+ Declined = 1;
802
+ TradeBannedInitiator = 2;
803
+ TradeBannedTarget = 3;
804
+ TargetAlreadyTrading = 4;
805
+ Disabled = 5;
806
+ NotLoggedIn = 6;
807
+ Cancel = 7;
808
+ TooSoon = 8;
809
+ TooSoonPenalty = 9;
810
+ ConnectionFailed = 10;
811
+ AlreadyTrading = 11;
812
+ AlreadyHasTradeRequest = 12;
813
+ NoResponse = 13;
814
+ CyberCafeInitiator = 14;
815
+ CyberCafeTarget = 15;
816
+ SchoolLabInitiator = 16;
817
+ SchoolLabTarget = 16;
818
+ InitiatorBlockedTarget = 18;
819
+ InitiatorNeedsVerifiedEmail = 20;
820
+ InitiatorNeedsSteamGuard = 21;
821
+ TargetAccountCannotTrade = 22;
822
+ InitiatorSteamGuardDuration = 23;
823
+ InitiatorPasswordResetProbation = 24;
824
+ InitiatorNewDeviceCooldown = 25;
825
+ OKToDeliver = 50;
826
+ };
827
+
828
+ enum EMarketingMessageFlags flags
829
+ {
830
+ None = 0;
831
+
832
+ HighPriority = 1;
833
+ PlatformWindows = 2;
834
+ PlatformMac = 4;
835
+ PlatformLinux = 8;
836
+ PlatformRestrictions = PlatformWindows | PlatformMac | PlatformLinux;
837
+ };
838
+
839
+ enum ENewsUpdateType
840
+ {
841
+ AppNews = 0;
842
+ SteamAds = 1;
843
+ SteamNews = 2;
844
+ CDDBUpdate = 3;
845
+ ClientUpdate = 4;
846
+ };
847
+
848
+ enum ESystemIMType
849
+ {
850
+ RawText = 0;
851
+ InvalidCard = 1;
852
+ RecurringPurchaseFailed = 2;
853
+ CardWillExpire = 3;
854
+ SubscriptionExpired = 4;
855
+ GuestPassReceived = 5;
856
+ GuestPassGranted = 6;
857
+ GiftRevoked = 7;
858
+ SupportMessage = 8;
859
+ SupportMessageClearAlert = 9;
860
+
861
+ Max = 10;
862
+ };
863
+
864
+ enum EChatFlags flags
865
+ {
866
+ Locked = 1;
867
+ InvisibleToFriends = 2;
868
+ Moderated = 4;
869
+ Unjoinable = 8;
870
+ };
871
+
872
+ enum ERemoteStoragePlatform flags
873
+ {
874
+ None = 0;
875
+
876
+ Windows = 1;
877
+ OSX = 2;
878
+ PS3 = 4;
879
+ Linux = 8;
880
+ Reserved1 = 8; obsolete
881
+ Reserved2 = 16;
882
+
883
+ All = -1;
884
+ };
885
+
886
+ enum EDRMBlobDownloadType flags
887
+ {
888
+ Error = 0;
889
+
890
+ File = 1;
891
+ Parts = 2;
892
+ Compressed = 4;
893
+ AllMask = 7;
894
+ IsJob = 8;
895
+ HighPriority = 16;
896
+ AddTimestamp = 32;
897
+ LowPriority = 64;
898
+ };
899
+
900
+ enum EDRMBlobDownloadErrorDetail
901
+ {
902
+ None = 0;
903
+
904
+ DownloadFailed = 1;
905
+ TargetLocked = 2;
906
+ OpenZip = 3;
907
+ ReadZipDirectory = 4;
908
+ UnexpectedZipEntry = 5;
909
+ UnzipFullFile = 6;
910
+ UnknownBlobType = 7;
911
+ UnzipStrips = 8;
912
+ UnzipMergeGuid = 9;
913
+ UnzipSignature = 10;
914
+ ApplyStrips = 11;
915
+ ApplyMergeGuid = 12;
916
+ ApplySignature = 13;
917
+ AppIdMismatch = 14;
918
+ AppIdUnexpected = 15;
919
+ AppliedSignatureCorrupt = 16;
920
+ ApplyValveSignatureHeader = 17;
921
+ UnzipValveSignatureHeader = 18;
922
+ PathManipulationError = 19;
923
+
924
+ TargetLocked_Base = 65536;
925
+ TargetLocked_Max = 131071;
926
+
927
+ NextBase = 131072;
928
+ };
929
+
930
+ enum EClientStat
931
+ {
932
+ P2PConnectionsUDP = 0;
933
+ P2PConnectionsRelay = 1;
934
+ P2PGameConnections = 2;
935
+ P2PVoiceConnections = 3;
936
+ BytesDownloaded = 4;
937
+
938
+ Max = 5;
939
+ };
940
+
941
+ enum EClientStatAggregateMethod
942
+ {
943
+ LatestOnly = 0;
944
+ Sum = 1;
945
+ Event = 2;
946
+ Scalar = 3;
947
+ };
948
+
949
+ enum ELeaderboardDataRequest
950
+ {
951
+ Global = 0;
952
+ GlobalAroundUser = 1;
953
+ Friends = 2;
954
+ Users = 3;
955
+ };
956
+
957
+ enum ELeaderboardSortMethod
958
+ {
959
+ None = 0;
960
+
961
+ Ascending = 1;
962
+ Descending = 2;
963
+ };
964
+
965
+ enum ELeaderboardDisplayType
966
+ {
967
+ None = 0;
968
+ Numeric = 1;
969
+ TimeSeconds = 2;
970
+ TimeMilliSeconds = 3;
971
+ };
972
+
973
+ enum ELeaderboardUploadScoreMethod
974
+ {
975
+ None = 0;
976
+
977
+ KeepBest = 1;
978
+ ForceUpdate = 2;
979
+ };
980
+
981
+ enum EUCMFilePrivacyState flags
982
+ {
983
+ Invalid = -1;
984
+ Private = 2;
985
+ FriendsOnly = 4;
986
+ Public = 8;
987
+
988
+ All = Public | FriendsOnly | Private; // 14
989
+ };