SteamEnums.cs 98 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066
  1. // This file is provided under The MIT License as part of Steamworks.NET.
  2. // Copyright (c) 2013-2019 Riley Labrecque
  3. // Please see the included LICENSE.txt for additional information.
  4. // This file is automatically generated.
  5. // Changes to this file will be reverted when you update Steamworks.NET
  6. #if UNITY_ANDROID || UNITY_IOS || UNITY_TIZEN || UNITY_TVOS || UNITY_WEBGL || UNITY_WSA || UNITY_PS4 || UNITY_WII || UNITY_XBOXONE || UNITY_SWITCH
  7. #define DISABLESTEAMWORKS
  8. #endif
  9. #if !DISABLESTEAMWORKS
  10. using System.Runtime.InteropServices;
  11. using IntPtr = System.IntPtr;
  12. using Flags = System.FlagsAttribute;
  13. namespace Steamworks {
  14. //-----------------------------------------------------------------------------
  15. // Purpose: possible results when registering an activation code
  16. //-----------------------------------------------------------------------------
  17. public enum ERegisterActivationCodeResult : int {
  18. k_ERegisterActivationCodeResultOK = 0,
  19. k_ERegisterActivationCodeResultFail = 1,
  20. k_ERegisterActivationCodeResultAlreadyRegistered = 2,
  21. k_ERegisterActivationCodeResultTimeout = 3,
  22. k_ERegisterActivationCodeAlreadyOwned = 4,
  23. }
  24. public enum EControllerSource : int {
  25. k_EControllerSource_None,
  26. k_EControllerSource_LeftTrackpad,
  27. k_EControllerSource_RightTrackpad,
  28. k_EControllerSource_Joystick,
  29. k_EControllerSource_ABXY,
  30. k_EControllerSource_Switch,
  31. k_EControllerSource_LeftTrigger,
  32. k_EControllerSource_RightTrigger,
  33. k_EControllerSource_LeftBumper,
  34. k_EControllerSource_RightBumper,
  35. k_EControllerSource_Gyro,
  36. k_EControllerSource_CenterTrackpad, // PS4
  37. k_EControllerSource_RightJoystick, // Traditional Controllers
  38. k_EControllerSource_DPad, // Traditional Controllers
  39. k_EControllerSource_Key, // Keyboards with scan codes - Unused
  40. k_EControllerSource_Mouse, // Traditional mouse - Unused
  41. k_EControllerSource_LeftGyro, // Secondary Gyro - Switch - Unused
  42. k_EControllerSource_Count
  43. }
  44. public enum EControllerSourceMode : int {
  45. k_EControllerSourceMode_None,
  46. k_EControllerSourceMode_Dpad,
  47. k_EControllerSourceMode_Buttons,
  48. k_EControllerSourceMode_FourButtons,
  49. k_EControllerSourceMode_AbsoluteMouse,
  50. k_EControllerSourceMode_RelativeMouse,
  51. k_EControllerSourceMode_JoystickMove,
  52. k_EControllerSourceMode_JoystickMouse,
  53. k_EControllerSourceMode_JoystickCamera,
  54. k_EControllerSourceMode_ScrollWheel,
  55. k_EControllerSourceMode_Trigger,
  56. k_EControllerSourceMode_TouchMenu,
  57. k_EControllerSourceMode_MouseJoystick,
  58. k_EControllerSourceMode_MouseRegion,
  59. k_EControllerSourceMode_RadialMenu,
  60. k_EControllerSourceMode_SingleButton,
  61. k_EControllerSourceMode_Switches
  62. }
  63. // Note: Please do not use action origins as a way to identify controller types. There is no
  64. // guarantee that they will be added in a contiguous manner - use GetInputTypeForHandle instead
  65. // Versions of Steam that add new controller types in the future will extend this enum if you're
  66. // using a lookup table please check the bounds of any origins returned by Steam.
  67. public enum EControllerActionOrigin : int {
  68. // Steam Controller
  69. k_EControllerActionOrigin_None,
  70. k_EControllerActionOrigin_A,
  71. k_EControllerActionOrigin_B,
  72. k_EControllerActionOrigin_X,
  73. k_EControllerActionOrigin_Y,
  74. k_EControllerActionOrigin_LeftBumper,
  75. k_EControllerActionOrigin_RightBumper,
  76. k_EControllerActionOrigin_LeftGrip,
  77. k_EControllerActionOrigin_RightGrip,
  78. k_EControllerActionOrigin_Start,
  79. k_EControllerActionOrigin_Back,
  80. k_EControllerActionOrigin_LeftPad_Touch,
  81. k_EControllerActionOrigin_LeftPad_Swipe,
  82. k_EControllerActionOrigin_LeftPad_Click,
  83. k_EControllerActionOrigin_LeftPad_DPadNorth,
  84. k_EControllerActionOrigin_LeftPad_DPadSouth,
  85. k_EControllerActionOrigin_LeftPad_DPadWest,
  86. k_EControllerActionOrigin_LeftPad_DPadEast,
  87. k_EControllerActionOrigin_RightPad_Touch,
  88. k_EControllerActionOrigin_RightPad_Swipe,
  89. k_EControllerActionOrigin_RightPad_Click,
  90. k_EControllerActionOrigin_RightPad_DPadNorth,
  91. k_EControllerActionOrigin_RightPad_DPadSouth,
  92. k_EControllerActionOrigin_RightPad_DPadWest,
  93. k_EControllerActionOrigin_RightPad_DPadEast,
  94. k_EControllerActionOrigin_LeftTrigger_Pull,
  95. k_EControllerActionOrigin_LeftTrigger_Click,
  96. k_EControllerActionOrigin_RightTrigger_Pull,
  97. k_EControllerActionOrigin_RightTrigger_Click,
  98. k_EControllerActionOrigin_LeftStick_Move,
  99. k_EControllerActionOrigin_LeftStick_Click,
  100. k_EControllerActionOrigin_LeftStick_DPadNorth,
  101. k_EControllerActionOrigin_LeftStick_DPadSouth,
  102. k_EControllerActionOrigin_LeftStick_DPadWest,
  103. k_EControllerActionOrigin_LeftStick_DPadEast,
  104. k_EControllerActionOrigin_Gyro_Move,
  105. k_EControllerActionOrigin_Gyro_Pitch,
  106. k_EControllerActionOrigin_Gyro_Yaw,
  107. k_EControllerActionOrigin_Gyro_Roll,
  108. // PS4 Dual Shock
  109. k_EControllerActionOrigin_PS4_X,
  110. k_EControllerActionOrigin_PS4_Circle,
  111. k_EControllerActionOrigin_PS4_Triangle,
  112. k_EControllerActionOrigin_PS4_Square,
  113. k_EControllerActionOrigin_PS4_LeftBumper,
  114. k_EControllerActionOrigin_PS4_RightBumper,
  115. k_EControllerActionOrigin_PS4_Options, //Start
  116. k_EControllerActionOrigin_PS4_Share, //Back
  117. k_EControllerActionOrigin_PS4_LeftPad_Touch,
  118. k_EControllerActionOrigin_PS4_LeftPad_Swipe,
  119. k_EControllerActionOrigin_PS4_LeftPad_Click,
  120. k_EControllerActionOrigin_PS4_LeftPad_DPadNorth,
  121. k_EControllerActionOrigin_PS4_LeftPad_DPadSouth,
  122. k_EControllerActionOrigin_PS4_LeftPad_DPadWest,
  123. k_EControllerActionOrigin_PS4_LeftPad_DPadEast,
  124. k_EControllerActionOrigin_PS4_RightPad_Touch,
  125. k_EControllerActionOrigin_PS4_RightPad_Swipe,
  126. k_EControllerActionOrigin_PS4_RightPad_Click,
  127. k_EControllerActionOrigin_PS4_RightPad_DPadNorth,
  128. k_EControllerActionOrigin_PS4_RightPad_DPadSouth,
  129. k_EControllerActionOrigin_PS4_RightPad_DPadWest,
  130. k_EControllerActionOrigin_PS4_RightPad_DPadEast,
  131. k_EControllerActionOrigin_PS4_CenterPad_Touch,
  132. k_EControllerActionOrigin_PS4_CenterPad_Swipe,
  133. k_EControllerActionOrigin_PS4_CenterPad_Click,
  134. k_EControllerActionOrigin_PS4_CenterPad_DPadNorth,
  135. k_EControllerActionOrigin_PS4_CenterPad_DPadSouth,
  136. k_EControllerActionOrigin_PS4_CenterPad_DPadWest,
  137. k_EControllerActionOrigin_PS4_CenterPad_DPadEast,
  138. k_EControllerActionOrigin_PS4_LeftTrigger_Pull,
  139. k_EControllerActionOrigin_PS4_LeftTrigger_Click,
  140. k_EControllerActionOrigin_PS4_RightTrigger_Pull,
  141. k_EControllerActionOrigin_PS4_RightTrigger_Click,
  142. k_EControllerActionOrigin_PS4_LeftStick_Move,
  143. k_EControllerActionOrigin_PS4_LeftStick_Click,
  144. k_EControllerActionOrigin_PS4_LeftStick_DPadNorth,
  145. k_EControllerActionOrigin_PS4_LeftStick_DPadSouth,
  146. k_EControllerActionOrigin_PS4_LeftStick_DPadWest,
  147. k_EControllerActionOrigin_PS4_LeftStick_DPadEast,
  148. k_EControllerActionOrigin_PS4_RightStick_Move,
  149. k_EControllerActionOrigin_PS4_RightStick_Click,
  150. k_EControllerActionOrigin_PS4_RightStick_DPadNorth,
  151. k_EControllerActionOrigin_PS4_RightStick_DPadSouth,
  152. k_EControllerActionOrigin_PS4_RightStick_DPadWest,
  153. k_EControllerActionOrigin_PS4_RightStick_DPadEast,
  154. k_EControllerActionOrigin_PS4_DPad_North,
  155. k_EControllerActionOrigin_PS4_DPad_South,
  156. k_EControllerActionOrigin_PS4_DPad_West,
  157. k_EControllerActionOrigin_PS4_DPad_East,
  158. k_EControllerActionOrigin_PS4_Gyro_Move,
  159. k_EControllerActionOrigin_PS4_Gyro_Pitch,
  160. k_EControllerActionOrigin_PS4_Gyro_Yaw,
  161. k_EControllerActionOrigin_PS4_Gyro_Roll,
  162. // XBox One
  163. k_EControllerActionOrigin_XBoxOne_A,
  164. k_EControllerActionOrigin_XBoxOne_B,
  165. k_EControllerActionOrigin_XBoxOne_X,
  166. k_EControllerActionOrigin_XBoxOne_Y,
  167. k_EControllerActionOrigin_XBoxOne_LeftBumper,
  168. k_EControllerActionOrigin_XBoxOne_RightBumper,
  169. k_EControllerActionOrigin_XBoxOne_Menu, //Start
  170. k_EControllerActionOrigin_XBoxOne_View, //Back
  171. k_EControllerActionOrigin_XBoxOne_LeftTrigger_Pull,
  172. k_EControllerActionOrigin_XBoxOne_LeftTrigger_Click,
  173. k_EControllerActionOrigin_XBoxOne_RightTrigger_Pull,
  174. k_EControllerActionOrigin_XBoxOne_RightTrigger_Click,
  175. k_EControllerActionOrigin_XBoxOne_LeftStick_Move,
  176. k_EControllerActionOrigin_XBoxOne_LeftStick_Click,
  177. k_EControllerActionOrigin_XBoxOne_LeftStick_DPadNorth,
  178. k_EControllerActionOrigin_XBoxOne_LeftStick_DPadSouth,
  179. k_EControllerActionOrigin_XBoxOne_LeftStick_DPadWest,
  180. k_EControllerActionOrigin_XBoxOne_LeftStick_DPadEast,
  181. k_EControllerActionOrigin_XBoxOne_RightStick_Move,
  182. k_EControllerActionOrigin_XBoxOne_RightStick_Click,
  183. k_EControllerActionOrigin_XBoxOne_RightStick_DPadNorth,
  184. k_EControllerActionOrigin_XBoxOne_RightStick_DPadSouth,
  185. k_EControllerActionOrigin_XBoxOne_RightStick_DPadWest,
  186. k_EControllerActionOrigin_XBoxOne_RightStick_DPadEast,
  187. k_EControllerActionOrigin_XBoxOne_DPad_North,
  188. k_EControllerActionOrigin_XBoxOne_DPad_South,
  189. k_EControllerActionOrigin_XBoxOne_DPad_West,
  190. k_EControllerActionOrigin_XBoxOne_DPad_East,
  191. // XBox 360
  192. k_EControllerActionOrigin_XBox360_A,
  193. k_EControllerActionOrigin_XBox360_B,
  194. k_EControllerActionOrigin_XBox360_X,
  195. k_EControllerActionOrigin_XBox360_Y,
  196. k_EControllerActionOrigin_XBox360_LeftBumper,
  197. k_EControllerActionOrigin_XBox360_RightBumper,
  198. k_EControllerActionOrigin_XBox360_Start, //Start
  199. k_EControllerActionOrigin_XBox360_Back, //Back
  200. k_EControllerActionOrigin_XBox360_LeftTrigger_Pull,
  201. k_EControllerActionOrigin_XBox360_LeftTrigger_Click,
  202. k_EControllerActionOrigin_XBox360_RightTrigger_Pull,
  203. k_EControllerActionOrigin_XBox360_RightTrigger_Click,
  204. k_EControllerActionOrigin_XBox360_LeftStick_Move,
  205. k_EControllerActionOrigin_XBox360_LeftStick_Click,
  206. k_EControllerActionOrigin_XBox360_LeftStick_DPadNorth,
  207. k_EControllerActionOrigin_XBox360_LeftStick_DPadSouth,
  208. k_EControllerActionOrigin_XBox360_LeftStick_DPadWest,
  209. k_EControllerActionOrigin_XBox360_LeftStick_DPadEast,
  210. k_EControllerActionOrigin_XBox360_RightStick_Move,
  211. k_EControllerActionOrigin_XBox360_RightStick_Click,
  212. k_EControllerActionOrigin_XBox360_RightStick_DPadNorth,
  213. k_EControllerActionOrigin_XBox360_RightStick_DPadSouth,
  214. k_EControllerActionOrigin_XBox360_RightStick_DPadWest,
  215. k_EControllerActionOrigin_XBox360_RightStick_DPadEast,
  216. k_EControllerActionOrigin_XBox360_DPad_North,
  217. k_EControllerActionOrigin_XBox360_DPad_South,
  218. k_EControllerActionOrigin_XBox360_DPad_West,
  219. k_EControllerActionOrigin_XBox360_DPad_East,
  220. // SteamController V2
  221. k_EControllerActionOrigin_SteamV2_A,
  222. k_EControllerActionOrigin_SteamV2_B,
  223. k_EControllerActionOrigin_SteamV2_X,
  224. k_EControllerActionOrigin_SteamV2_Y,
  225. k_EControllerActionOrigin_SteamV2_LeftBumper,
  226. k_EControllerActionOrigin_SteamV2_RightBumper,
  227. k_EControllerActionOrigin_SteamV2_LeftGrip_Lower,
  228. k_EControllerActionOrigin_SteamV2_LeftGrip_Upper,
  229. k_EControllerActionOrigin_SteamV2_RightGrip_Lower,
  230. k_EControllerActionOrigin_SteamV2_RightGrip_Upper,
  231. k_EControllerActionOrigin_SteamV2_LeftBumper_Pressure,
  232. k_EControllerActionOrigin_SteamV2_RightBumper_Pressure,
  233. k_EControllerActionOrigin_SteamV2_LeftGrip_Pressure,
  234. k_EControllerActionOrigin_SteamV2_RightGrip_Pressure,
  235. k_EControllerActionOrigin_SteamV2_LeftGrip_Upper_Pressure,
  236. k_EControllerActionOrigin_SteamV2_RightGrip_Upper_Pressure,
  237. k_EControllerActionOrigin_SteamV2_Start,
  238. k_EControllerActionOrigin_SteamV2_Back,
  239. k_EControllerActionOrigin_SteamV2_LeftPad_Touch,
  240. k_EControllerActionOrigin_SteamV2_LeftPad_Swipe,
  241. k_EControllerActionOrigin_SteamV2_LeftPad_Click,
  242. k_EControllerActionOrigin_SteamV2_LeftPad_Pressure,
  243. k_EControllerActionOrigin_SteamV2_LeftPad_DPadNorth,
  244. k_EControllerActionOrigin_SteamV2_LeftPad_DPadSouth,
  245. k_EControllerActionOrigin_SteamV2_LeftPad_DPadWest,
  246. k_EControllerActionOrigin_SteamV2_LeftPad_DPadEast,
  247. k_EControllerActionOrigin_SteamV2_RightPad_Touch,
  248. k_EControllerActionOrigin_SteamV2_RightPad_Swipe,
  249. k_EControllerActionOrigin_SteamV2_RightPad_Click,
  250. k_EControllerActionOrigin_SteamV2_RightPad_Pressure,
  251. k_EControllerActionOrigin_SteamV2_RightPad_DPadNorth,
  252. k_EControllerActionOrigin_SteamV2_RightPad_DPadSouth,
  253. k_EControllerActionOrigin_SteamV2_RightPad_DPadWest,
  254. k_EControllerActionOrigin_SteamV2_RightPad_DPadEast,
  255. k_EControllerActionOrigin_SteamV2_LeftTrigger_Pull,
  256. k_EControllerActionOrigin_SteamV2_LeftTrigger_Click,
  257. k_EControllerActionOrigin_SteamV2_RightTrigger_Pull,
  258. k_EControllerActionOrigin_SteamV2_RightTrigger_Click,
  259. k_EControllerActionOrigin_SteamV2_LeftStick_Move,
  260. k_EControllerActionOrigin_SteamV2_LeftStick_Click,
  261. k_EControllerActionOrigin_SteamV2_LeftStick_DPadNorth,
  262. k_EControllerActionOrigin_SteamV2_LeftStick_DPadSouth,
  263. k_EControllerActionOrigin_SteamV2_LeftStick_DPadWest,
  264. k_EControllerActionOrigin_SteamV2_LeftStick_DPadEast,
  265. k_EControllerActionOrigin_SteamV2_Gyro_Move,
  266. k_EControllerActionOrigin_SteamV2_Gyro_Pitch,
  267. k_EControllerActionOrigin_SteamV2_Gyro_Yaw,
  268. k_EControllerActionOrigin_SteamV2_Gyro_Roll,
  269. // Switch - Pro or Joycons used as a single input device.
  270. // This does not apply to a single joycon
  271. k_EControllerActionOrigin_Switch_A,
  272. k_EControllerActionOrigin_Switch_B,
  273. k_EControllerActionOrigin_Switch_X,
  274. k_EControllerActionOrigin_Switch_Y,
  275. k_EControllerActionOrigin_Switch_LeftBumper,
  276. k_EControllerActionOrigin_Switch_RightBumper,
  277. k_EControllerActionOrigin_Switch_Plus, //Start
  278. k_EControllerActionOrigin_Switch_Minus, //Back
  279. k_EControllerActionOrigin_Switch_Capture,
  280. k_EControllerActionOrigin_Switch_LeftTrigger_Pull,
  281. k_EControllerActionOrigin_Switch_LeftTrigger_Click,
  282. k_EControllerActionOrigin_Switch_RightTrigger_Pull,
  283. k_EControllerActionOrigin_Switch_RightTrigger_Click,
  284. k_EControllerActionOrigin_Switch_LeftStick_Move,
  285. k_EControllerActionOrigin_Switch_LeftStick_Click,
  286. k_EControllerActionOrigin_Switch_LeftStick_DPadNorth,
  287. k_EControllerActionOrigin_Switch_LeftStick_DPadSouth,
  288. k_EControllerActionOrigin_Switch_LeftStick_DPadWest,
  289. k_EControllerActionOrigin_Switch_LeftStick_DPadEast,
  290. k_EControllerActionOrigin_Switch_RightStick_Move,
  291. k_EControllerActionOrigin_Switch_RightStick_Click,
  292. k_EControllerActionOrigin_Switch_RightStick_DPadNorth,
  293. k_EControllerActionOrigin_Switch_RightStick_DPadSouth,
  294. k_EControllerActionOrigin_Switch_RightStick_DPadWest,
  295. k_EControllerActionOrigin_Switch_RightStick_DPadEast,
  296. k_EControllerActionOrigin_Switch_DPad_North,
  297. k_EControllerActionOrigin_Switch_DPad_South,
  298. k_EControllerActionOrigin_Switch_DPad_West,
  299. k_EControllerActionOrigin_Switch_DPad_East,
  300. k_EControllerActionOrigin_Switch_ProGyro_Move, // Primary Gyro in Pro Controller, or Right JoyCon
  301. k_EControllerActionOrigin_Switch_ProGyro_Pitch, // Primary Gyro in Pro Controller, or Right JoyCon
  302. k_EControllerActionOrigin_Switch_ProGyro_Yaw, // Primary Gyro in Pro Controller, or Right JoyCon
  303. k_EControllerActionOrigin_Switch_ProGyro_Roll, // Primary Gyro in Pro Controller, or Right JoyCon
  304. // Switch JoyCon Specific
  305. k_EControllerActionOrigin_Switch_RightGyro_Move, // Right JoyCon Gyro generally should correspond to Pro's single gyro
  306. k_EControllerActionOrigin_Switch_RightGyro_Pitch, // Right JoyCon Gyro generally should correspond to Pro's single gyro
  307. k_EControllerActionOrigin_Switch_RightGyro_Yaw, // Right JoyCon Gyro generally should correspond to Pro's single gyro
  308. k_EControllerActionOrigin_Switch_RightGyro_Roll, // Right JoyCon Gyro generally should correspond to Pro's single gyro
  309. k_EControllerActionOrigin_Switch_LeftGyro_Move,
  310. k_EControllerActionOrigin_Switch_LeftGyro_Pitch,
  311. k_EControllerActionOrigin_Switch_LeftGyro_Yaw,
  312. k_EControllerActionOrigin_Switch_LeftGyro_Roll,
  313. k_EControllerActionOrigin_Switch_LeftGrip_Lower, // Left JoyCon SR Button
  314. k_EControllerActionOrigin_Switch_LeftGrip_Upper, // Left JoyCon SL Button
  315. k_EControllerActionOrigin_Switch_RightGrip_Lower, // Right JoyCon SL Button
  316. k_EControllerActionOrigin_Switch_RightGrip_Upper, // Right JoyCon SR Button
  317. // Added in SDK 1.45
  318. k_EControllerActionOrigin_PS4_DPad_Move,
  319. k_EControllerActionOrigin_XBoxOne_DPad_Move,
  320. k_EControllerActionOrigin_XBox360_DPad_Move,
  321. k_EControllerActionOrigin_Switch_DPad_Move,
  322. k_EControllerActionOrigin_Count, // If Steam has added support for new controllers origins will go here.
  323. k_EControllerActionOrigin_MaximumPossibleValue = 32767, // Origins are currently a maximum of 16 bits.
  324. }
  325. public enum ESteamControllerLEDFlag : int {
  326. k_ESteamControllerLEDFlag_SetColor,
  327. k_ESteamControllerLEDFlag_RestoreUserDefault
  328. }
  329. //-----------------------------------------------------------------------------
  330. // Purpose: set of relationships to other users
  331. //-----------------------------------------------------------------------------
  332. public enum EFriendRelationship : int {
  333. k_EFriendRelationshipNone = 0,
  334. k_EFriendRelationshipBlocked = 1, // this doesn't get stored; the user has just done an Ignore on an friendship invite
  335. k_EFriendRelationshipRequestRecipient = 2,
  336. k_EFriendRelationshipFriend = 3,
  337. k_EFriendRelationshipRequestInitiator = 4,
  338. k_EFriendRelationshipIgnored = 5, // this is stored; the user has explicit blocked this other user from comments/chat/etc
  339. k_EFriendRelationshipIgnoredFriend = 6,
  340. k_EFriendRelationshipSuggested_DEPRECATED = 7, // was used by the original implementation of the facebook linking feature, but now unused.
  341. // keep this updated
  342. k_EFriendRelationshipMax = 8,
  343. }
  344. //-----------------------------------------------------------------------------
  345. // Purpose: list of states a friend can be in
  346. //-----------------------------------------------------------------------------
  347. public enum EPersonaState : int {
  348. k_EPersonaStateOffline = 0, // friend is not currently logged on
  349. k_EPersonaStateOnline = 1, // friend is logged on
  350. k_EPersonaStateBusy = 2, // user is on, but busy
  351. k_EPersonaStateAway = 3, // auto-away feature
  352. k_EPersonaStateSnooze = 4, // auto-away for a long time
  353. k_EPersonaStateLookingToTrade = 5, // Online, trading
  354. k_EPersonaStateLookingToPlay = 6, // Online, wanting to play
  355. k_EPersonaStateInvisible = 7, // Online, but appears offline to friends. This status is never published to clients.
  356. k_EPersonaStateMax,
  357. }
  358. //-----------------------------------------------------------------------------
  359. // Purpose: flags for enumerating friends list, or quickly checking a the relationship between users
  360. //-----------------------------------------------------------------------------
  361. [Flags]
  362. public enum EFriendFlags : int {
  363. k_EFriendFlagNone = 0x00,
  364. k_EFriendFlagBlocked = 0x01,
  365. k_EFriendFlagFriendshipRequested = 0x02,
  366. k_EFriendFlagImmediate = 0x04, // "regular" friend
  367. k_EFriendFlagClanMember = 0x08,
  368. k_EFriendFlagOnGameServer = 0x10,
  369. // k_EFriendFlagHasPlayedWith = 0x20, // not currently used
  370. // k_EFriendFlagFriendOfFriend = 0x40, // not currently used
  371. k_EFriendFlagRequestingFriendship = 0x80,
  372. k_EFriendFlagRequestingInfo = 0x100,
  373. k_EFriendFlagIgnored = 0x200,
  374. k_EFriendFlagIgnoredFriend = 0x400,
  375. // k_EFriendFlagSuggested = 0x800, // not used
  376. k_EFriendFlagChatMember = 0x1000,
  377. k_EFriendFlagAll = 0xFFFF,
  378. }
  379. //-----------------------------------------------------------------------------
  380. // Purpose: user restriction flags
  381. //-----------------------------------------------------------------------------
  382. public enum EUserRestriction : int {
  383. k_nUserRestrictionNone = 0, // no known chat/content restriction
  384. k_nUserRestrictionUnknown = 1, // we don't know yet (user offline)
  385. k_nUserRestrictionAnyChat = 2, // user is not allowed to (or can't) send/recv any chat
  386. k_nUserRestrictionVoiceChat = 4, // user is not allowed to (or can't) send/recv voice chat
  387. k_nUserRestrictionGroupChat = 8, // user is not allowed to (or can't) send/recv group chat
  388. k_nUserRestrictionRating = 16, // user is too young according to rating in current region
  389. k_nUserRestrictionGameInvites = 32, // user cannot send or recv game invites (e.g. mobile)
  390. k_nUserRestrictionTrading = 64, // user cannot participate in trading (console, mobile)
  391. }
  392. // These values are passed as parameters to the store
  393. public enum EOverlayToStoreFlag : int {
  394. k_EOverlayToStoreFlag_None = 0,
  395. k_EOverlayToStoreFlag_AddToCart = 1,
  396. k_EOverlayToStoreFlag_AddToCartAndShow = 2,
  397. }
  398. //-----------------------------------------------------------------------------
  399. // Purpose: Tells Steam where to place the browser window inside the overlay
  400. //-----------------------------------------------------------------------------
  401. public enum EActivateGameOverlayToWebPageMode : int {
  402. k_EActivateGameOverlayToWebPageMode_Default = 0, // Browser will open next to all other windows that the user has open in the overlay.
  403. // The window will remain open, even if the user closes then re-opens the overlay.
  404. k_EActivateGameOverlayToWebPageMode_Modal = 1 // Browser will be opened in a special overlay configuration which hides all other windows
  405. // that the user has open in the overlay. When the user closes the overlay, the browser window
  406. // will also close. When the user closes the browser window, the overlay will automatically close.
  407. }
  408. // used in PersonaStateChange_t::m_nChangeFlags to describe what's changed about a user
  409. // these flags describe what the client has learned has changed recently, so on startup you'll see a name, avatar & relationship change for every friend
  410. [Flags]
  411. public enum EPersonaChange : int {
  412. k_EPersonaChangeName = 0x0001,
  413. k_EPersonaChangeStatus = 0x0002,
  414. k_EPersonaChangeComeOnline = 0x0004,
  415. k_EPersonaChangeGoneOffline = 0x0008,
  416. k_EPersonaChangeGamePlayed = 0x0010,
  417. k_EPersonaChangeGameServer = 0x0020,
  418. k_EPersonaChangeAvatar = 0x0040,
  419. k_EPersonaChangeJoinedSource= 0x0080,
  420. k_EPersonaChangeLeftSource = 0x0100,
  421. k_EPersonaChangeRelationshipChanged = 0x0200,
  422. k_EPersonaChangeNameFirstSet = 0x0400,
  423. k_EPersonaChangeBroadcast = 0x0800,
  424. k_EPersonaChangeNickname = 0x1000,
  425. k_EPersonaChangeSteamLevel = 0x2000,
  426. k_EPersonaChangeRichPresence = 0x4000,
  427. }
  428. // list of possible return values from the ISteamGameCoordinator API
  429. public enum EGCResults : int {
  430. k_EGCResultOK = 0,
  431. k_EGCResultNoMessage = 1, // There is no message in the queue
  432. k_EGCResultBufferTooSmall = 2, // The buffer is too small for the requested message
  433. k_EGCResultNotLoggedOn = 3, // The client is not logged onto Steam
  434. k_EGCResultInvalidMessage = 4, // Something was wrong with the message being sent with SendMessage
  435. }
  436. public enum EHTMLMouseButton : int {
  437. eHTMLMouseButton_Left = 0,
  438. eHTMLMouseButton_Right = 1,
  439. eHTMLMouseButton_Middle = 2,
  440. }
  441. public enum EMouseCursor : int {
  442. dc_user = 0,
  443. dc_none,
  444. dc_arrow,
  445. dc_ibeam,
  446. dc_hourglass,
  447. dc_waitarrow,
  448. dc_crosshair,
  449. dc_up,
  450. dc_sizenw,
  451. dc_sizese,
  452. dc_sizene,
  453. dc_sizesw,
  454. dc_sizew,
  455. dc_sizee,
  456. dc_sizen,
  457. dc_sizes,
  458. dc_sizewe,
  459. dc_sizens,
  460. dc_sizeall,
  461. dc_no,
  462. dc_hand,
  463. dc_blank, // don't show any custom cursor, just use your default
  464. dc_middle_pan,
  465. dc_north_pan,
  466. dc_north_east_pan,
  467. dc_east_pan,
  468. dc_south_east_pan,
  469. dc_south_pan,
  470. dc_south_west_pan,
  471. dc_west_pan,
  472. dc_north_west_pan,
  473. dc_alias,
  474. dc_cell,
  475. dc_colresize,
  476. dc_copycur,
  477. dc_verticaltext,
  478. dc_rowresize,
  479. dc_zoomin,
  480. dc_zoomout,
  481. dc_help,
  482. dc_custom,
  483. dc_last, // custom cursors start from this value and up
  484. }
  485. [Flags]
  486. public enum EHTMLKeyModifiers : int {
  487. k_eHTMLKeyModifier_None = 0,
  488. k_eHTMLKeyModifier_AltDown = 1 << 0,
  489. k_eHTMLKeyModifier_CtrlDown = 1 << 1,
  490. k_eHTMLKeyModifier_ShiftDown = 1 << 2,
  491. }
  492. public enum EInputSource : int {
  493. k_EInputSource_None,
  494. k_EInputSource_LeftTrackpad,
  495. k_EInputSource_RightTrackpad,
  496. k_EInputSource_Joystick,
  497. k_EInputSource_ABXY,
  498. k_EInputSource_Switch,
  499. k_EInputSource_LeftTrigger,
  500. k_EInputSource_RightTrigger,
  501. k_EInputSource_LeftBumper,
  502. k_EInputSource_RightBumper,
  503. k_EInputSource_Gyro,
  504. k_EInputSource_CenterTrackpad, // PS4
  505. k_EInputSource_RightJoystick, // Traditional Controllers
  506. k_EInputSource_DPad, // Traditional Controllers
  507. k_EInputSource_Key, // Keyboards with scan codes - Unused
  508. k_EInputSource_Mouse, // Traditional mouse - Unused
  509. k_EInputSource_LeftGyro, // Secondary Gyro - Switch - Unused
  510. k_EInputSource_Count
  511. }
  512. public enum EInputSourceMode : int {
  513. k_EInputSourceMode_None,
  514. k_EInputSourceMode_Dpad,
  515. k_EInputSourceMode_Buttons,
  516. k_EInputSourceMode_FourButtons,
  517. k_EInputSourceMode_AbsoluteMouse,
  518. k_EInputSourceMode_RelativeMouse,
  519. k_EInputSourceMode_JoystickMove,
  520. k_EInputSourceMode_JoystickMouse,
  521. k_EInputSourceMode_JoystickCamera,
  522. k_EInputSourceMode_ScrollWheel,
  523. k_EInputSourceMode_Trigger,
  524. k_EInputSourceMode_TouchMenu,
  525. k_EInputSourceMode_MouseJoystick,
  526. k_EInputSourceMode_MouseRegion,
  527. k_EInputSourceMode_RadialMenu,
  528. k_EInputSourceMode_SingleButton,
  529. k_EInputSourceMode_Switches
  530. }
  531. // Note: Please do not use action origins as a way to identify controller types. There is no
  532. // guarantee that they will be added in a contiguous manner - use GetInputTypeForHandle instead.
  533. // Versions of Steam that add new controller types in the future will extend this enum so if you're
  534. // using a lookup table please check the bounds of any origins returned by Steam.
  535. public enum EInputActionOrigin : int {
  536. // Steam Controller
  537. k_EInputActionOrigin_None,
  538. k_EInputActionOrigin_SteamController_A,
  539. k_EInputActionOrigin_SteamController_B,
  540. k_EInputActionOrigin_SteamController_X,
  541. k_EInputActionOrigin_SteamController_Y,
  542. k_EInputActionOrigin_SteamController_LeftBumper,
  543. k_EInputActionOrigin_SteamController_RightBumper,
  544. k_EInputActionOrigin_SteamController_LeftGrip,
  545. k_EInputActionOrigin_SteamController_RightGrip,
  546. k_EInputActionOrigin_SteamController_Start,
  547. k_EInputActionOrigin_SteamController_Back,
  548. k_EInputActionOrigin_SteamController_LeftPad_Touch,
  549. k_EInputActionOrigin_SteamController_LeftPad_Swipe,
  550. k_EInputActionOrigin_SteamController_LeftPad_Click,
  551. k_EInputActionOrigin_SteamController_LeftPad_DPadNorth,
  552. k_EInputActionOrigin_SteamController_LeftPad_DPadSouth,
  553. k_EInputActionOrigin_SteamController_LeftPad_DPadWest,
  554. k_EInputActionOrigin_SteamController_LeftPad_DPadEast,
  555. k_EInputActionOrigin_SteamController_RightPad_Touch,
  556. k_EInputActionOrigin_SteamController_RightPad_Swipe,
  557. k_EInputActionOrigin_SteamController_RightPad_Click,
  558. k_EInputActionOrigin_SteamController_RightPad_DPadNorth,
  559. k_EInputActionOrigin_SteamController_RightPad_DPadSouth,
  560. k_EInputActionOrigin_SteamController_RightPad_DPadWest,
  561. k_EInputActionOrigin_SteamController_RightPad_DPadEast,
  562. k_EInputActionOrigin_SteamController_LeftTrigger_Pull,
  563. k_EInputActionOrigin_SteamController_LeftTrigger_Click,
  564. k_EInputActionOrigin_SteamController_RightTrigger_Pull,
  565. k_EInputActionOrigin_SteamController_RightTrigger_Click,
  566. k_EInputActionOrigin_SteamController_LeftStick_Move,
  567. k_EInputActionOrigin_SteamController_LeftStick_Click,
  568. k_EInputActionOrigin_SteamController_LeftStick_DPadNorth,
  569. k_EInputActionOrigin_SteamController_LeftStick_DPadSouth,
  570. k_EInputActionOrigin_SteamController_LeftStick_DPadWest,
  571. k_EInputActionOrigin_SteamController_LeftStick_DPadEast,
  572. k_EInputActionOrigin_SteamController_Gyro_Move,
  573. k_EInputActionOrigin_SteamController_Gyro_Pitch,
  574. k_EInputActionOrigin_SteamController_Gyro_Yaw,
  575. k_EInputActionOrigin_SteamController_Gyro_Roll,
  576. k_EInputActionOrigin_SteamController_Reserved0,
  577. k_EInputActionOrigin_SteamController_Reserved1,
  578. k_EInputActionOrigin_SteamController_Reserved2,
  579. k_EInputActionOrigin_SteamController_Reserved3,
  580. k_EInputActionOrigin_SteamController_Reserved4,
  581. k_EInputActionOrigin_SteamController_Reserved5,
  582. k_EInputActionOrigin_SteamController_Reserved6,
  583. k_EInputActionOrigin_SteamController_Reserved7,
  584. k_EInputActionOrigin_SteamController_Reserved8,
  585. k_EInputActionOrigin_SteamController_Reserved9,
  586. k_EInputActionOrigin_SteamController_Reserved10,
  587. // PS4 Dual Shock
  588. k_EInputActionOrigin_PS4_X,
  589. k_EInputActionOrigin_PS4_Circle,
  590. k_EInputActionOrigin_PS4_Triangle,
  591. k_EInputActionOrigin_PS4_Square,
  592. k_EInputActionOrigin_PS4_LeftBumper,
  593. k_EInputActionOrigin_PS4_RightBumper,
  594. k_EInputActionOrigin_PS4_Options, //Start
  595. k_EInputActionOrigin_PS4_Share, //Back
  596. k_EInputActionOrigin_PS4_LeftPad_Touch,
  597. k_EInputActionOrigin_PS4_LeftPad_Swipe,
  598. k_EInputActionOrigin_PS4_LeftPad_Click,
  599. k_EInputActionOrigin_PS4_LeftPad_DPadNorth,
  600. k_EInputActionOrigin_PS4_LeftPad_DPadSouth,
  601. k_EInputActionOrigin_PS4_LeftPad_DPadWest,
  602. k_EInputActionOrigin_PS4_LeftPad_DPadEast,
  603. k_EInputActionOrigin_PS4_RightPad_Touch,
  604. k_EInputActionOrigin_PS4_RightPad_Swipe,
  605. k_EInputActionOrigin_PS4_RightPad_Click,
  606. k_EInputActionOrigin_PS4_RightPad_DPadNorth,
  607. k_EInputActionOrigin_PS4_RightPad_DPadSouth,
  608. k_EInputActionOrigin_PS4_RightPad_DPadWest,
  609. k_EInputActionOrigin_PS4_RightPad_DPadEast,
  610. k_EInputActionOrigin_PS4_CenterPad_Touch,
  611. k_EInputActionOrigin_PS4_CenterPad_Swipe,
  612. k_EInputActionOrigin_PS4_CenterPad_Click,
  613. k_EInputActionOrigin_PS4_CenterPad_DPadNorth,
  614. k_EInputActionOrigin_PS4_CenterPad_DPadSouth,
  615. k_EInputActionOrigin_PS4_CenterPad_DPadWest,
  616. k_EInputActionOrigin_PS4_CenterPad_DPadEast,
  617. k_EInputActionOrigin_PS4_LeftTrigger_Pull,
  618. k_EInputActionOrigin_PS4_LeftTrigger_Click,
  619. k_EInputActionOrigin_PS4_RightTrigger_Pull,
  620. k_EInputActionOrigin_PS4_RightTrigger_Click,
  621. k_EInputActionOrigin_PS4_LeftStick_Move,
  622. k_EInputActionOrigin_PS4_LeftStick_Click,
  623. k_EInputActionOrigin_PS4_LeftStick_DPadNorth,
  624. k_EInputActionOrigin_PS4_LeftStick_DPadSouth,
  625. k_EInputActionOrigin_PS4_LeftStick_DPadWest,
  626. k_EInputActionOrigin_PS4_LeftStick_DPadEast,
  627. k_EInputActionOrigin_PS4_RightStick_Move,
  628. k_EInputActionOrigin_PS4_RightStick_Click,
  629. k_EInputActionOrigin_PS4_RightStick_DPadNorth,
  630. k_EInputActionOrigin_PS4_RightStick_DPadSouth,
  631. k_EInputActionOrigin_PS4_RightStick_DPadWest,
  632. k_EInputActionOrigin_PS4_RightStick_DPadEast,
  633. k_EInputActionOrigin_PS4_DPad_North,
  634. k_EInputActionOrigin_PS4_DPad_South,
  635. k_EInputActionOrigin_PS4_DPad_West,
  636. k_EInputActionOrigin_PS4_DPad_East,
  637. k_EInputActionOrigin_PS4_Gyro_Move,
  638. k_EInputActionOrigin_PS4_Gyro_Pitch,
  639. k_EInputActionOrigin_PS4_Gyro_Yaw,
  640. k_EInputActionOrigin_PS4_Gyro_Roll,
  641. k_EInputActionOrigin_PS4_DPad_Move,
  642. k_EInputActionOrigin_PS4_Reserved1,
  643. k_EInputActionOrigin_PS4_Reserved2,
  644. k_EInputActionOrigin_PS4_Reserved3,
  645. k_EInputActionOrigin_PS4_Reserved4,
  646. k_EInputActionOrigin_PS4_Reserved5,
  647. k_EInputActionOrigin_PS4_Reserved6,
  648. k_EInputActionOrigin_PS4_Reserved7,
  649. k_EInputActionOrigin_PS4_Reserved8,
  650. k_EInputActionOrigin_PS4_Reserved9,
  651. k_EInputActionOrigin_PS4_Reserved10,
  652. // XBox One
  653. k_EInputActionOrigin_XBoxOne_A,
  654. k_EInputActionOrigin_XBoxOne_B,
  655. k_EInputActionOrigin_XBoxOne_X,
  656. k_EInputActionOrigin_XBoxOne_Y,
  657. k_EInputActionOrigin_XBoxOne_LeftBumper,
  658. k_EInputActionOrigin_XBoxOne_RightBumper,
  659. k_EInputActionOrigin_XBoxOne_Menu, //Start
  660. k_EInputActionOrigin_XBoxOne_View, //Back
  661. k_EInputActionOrigin_XBoxOne_LeftTrigger_Pull,
  662. k_EInputActionOrigin_XBoxOne_LeftTrigger_Click,
  663. k_EInputActionOrigin_XBoxOne_RightTrigger_Pull,
  664. k_EInputActionOrigin_XBoxOne_RightTrigger_Click,
  665. k_EInputActionOrigin_XBoxOne_LeftStick_Move,
  666. k_EInputActionOrigin_XBoxOne_LeftStick_Click,
  667. k_EInputActionOrigin_XBoxOne_LeftStick_DPadNorth,
  668. k_EInputActionOrigin_XBoxOne_LeftStick_DPadSouth,
  669. k_EInputActionOrigin_XBoxOne_LeftStick_DPadWest,
  670. k_EInputActionOrigin_XBoxOne_LeftStick_DPadEast,
  671. k_EInputActionOrigin_XBoxOne_RightStick_Move,
  672. k_EInputActionOrigin_XBoxOne_RightStick_Click,
  673. k_EInputActionOrigin_XBoxOne_RightStick_DPadNorth,
  674. k_EInputActionOrigin_XBoxOne_RightStick_DPadSouth,
  675. k_EInputActionOrigin_XBoxOne_RightStick_DPadWest,
  676. k_EInputActionOrigin_XBoxOne_RightStick_DPadEast,
  677. k_EInputActionOrigin_XBoxOne_DPad_North,
  678. k_EInputActionOrigin_XBoxOne_DPad_South,
  679. k_EInputActionOrigin_XBoxOne_DPad_West,
  680. k_EInputActionOrigin_XBoxOne_DPad_East,
  681. k_EInputActionOrigin_XBoxOne_DPad_Move,
  682. k_EInputActionOrigin_XBoxOne_Reserved1,
  683. k_EInputActionOrigin_XBoxOne_Reserved2,
  684. k_EInputActionOrigin_XBoxOne_Reserved3,
  685. k_EInputActionOrigin_XBoxOne_Reserved4,
  686. k_EInputActionOrigin_XBoxOne_Reserved5,
  687. k_EInputActionOrigin_XBoxOne_Reserved6,
  688. k_EInputActionOrigin_XBoxOne_Reserved7,
  689. k_EInputActionOrigin_XBoxOne_Reserved8,
  690. k_EInputActionOrigin_XBoxOne_Reserved9,
  691. k_EInputActionOrigin_XBoxOne_Reserved10,
  692. // XBox 360
  693. k_EInputActionOrigin_XBox360_A,
  694. k_EInputActionOrigin_XBox360_B,
  695. k_EInputActionOrigin_XBox360_X,
  696. k_EInputActionOrigin_XBox360_Y,
  697. k_EInputActionOrigin_XBox360_LeftBumper,
  698. k_EInputActionOrigin_XBox360_RightBumper,
  699. k_EInputActionOrigin_XBox360_Start, //Start
  700. k_EInputActionOrigin_XBox360_Back, //Back
  701. k_EInputActionOrigin_XBox360_LeftTrigger_Pull,
  702. k_EInputActionOrigin_XBox360_LeftTrigger_Click,
  703. k_EInputActionOrigin_XBox360_RightTrigger_Pull,
  704. k_EInputActionOrigin_XBox360_RightTrigger_Click,
  705. k_EInputActionOrigin_XBox360_LeftStick_Move,
  706. k_EInputActionOrigin_XBox360_LeftStick_Click,
  707. k_EInputActionOrigin_XBox360_LeftStick_DPadNorth,
  708. k_EInputActionOrigin_XBox360_LeftStick_DPadSouth,
  709. k_EInputActionOrigin_XBox360_LeftStick_DPadWest,
  710. k_EInputActionOrigin_XBox360_LeftStick_DPadEast,
  711. k_EInputActionOrigin_XBox360_RightStick_Move,
  712. k_EInputActionOrigin_XBox360_RightStick_Click,
  713. k_EInputActionOrigin_XBox360_RightStick_DPadNorth,
  714. k_EInputActionOrigin_XBox360_RightStick_DPadSouth,
  715. k_EInputActionOrigin_XBox360_RightStick_DPadWest,
  716. k_EInputActionOrigin_XBox360_RightStick_DPadEast,
  717. k_EInputActionOrigin_XBox360_DPad_North,
  718. k_EInputActionOrigin_XBox360_DPad_South,
  719. k_EInputActionOrigin_XBox360_DPad_West,
  720. k_EInputActionOrigin_XBox360_DPad_East,
  721. k_EInputActionOrigin_XBox360_DPad_Move,
  722. k_EInputActionOrigin_XBox360_Reserved1,
  723. k_EInputActionOrigin_XBox360_Reserved2,
  724. k_EInputActionOrigin_XBox360_Reserved3,
  725. k_EInputActionOrigin_XBox360_Reserved4,
  726. k_EInputActionOrigin_XBox360_Reserved5,
  727. k_EInputActionOrigin_XBox360_Reserved6,
  728. k_EInputActionOrigin_XBox360_Reserved7,
  729. k_EInputActionOrigin_XBox360_Reserved8,
  730. k_EInputActionOrigin_XBox360_Reserved9,
  731. k_EInputActionOrigin_XBox360_Reserved10,
  732. // Switch - Pro or Joycons used as a single input device.
  733. // This does not apply to a single joycon
  734. k_EInputActionOrigin_Switch_A,
  735. k_EInputActionOrigin_Switch_B,
  736. k_EInputActionOrigin_Switch_X,
  737. k_EInputActionOrigin_Switch_Y,
  738. k_EInputActionOrigin_Switch_LeftBumper,
  739. k_EInputActionOrigin_Switch_RightBumper,
  740. k_EInputActionOrigin_Switch_Plus, //Start
  741. k_EInputActionOrigin_Switch_Minus, //Back
  742. k_EInputActionOrigin_Switch_Capture,
  743. k_EInputActionOrigin_Switch_LeftTrigger_Pull,
  744. k_EInputActionOrigin_Switch_LeftTrigger_Click,
  745. k_EInputActionOrigin_Switch_RightTrigger_Pull,
  746. k_EInputActionOrigin_Switch_RightTrigger_Click,
  747. k_EInputActionOrigin_Switch_LeftStick_Move,
  748. k_EInputActionOrigin_Switch_LeftStick_Click,
  749. k_EInputActionOrigin_Switch_LeftStick_DPadNorth,
  750. k_EInputActionOrigin_Switch_LeftStick_DPadSouth,
  751. k_EInputActionOrigin_Switch_LeftStick_DPadWest,
  752. k_EInputActionOrigin_Switch_LeftStick_DPadEast,
  753. k_EInputActionOrigin_Switch_RightStick_Move,
  754. k_EInputActionOrigin_Switch_RightStick_Click,
  755. k_EInputActionOrigin_Switch_RightStick_DPadNorth,
  756. k_EInputActionOrigin_Switch_RightStick_DPadSouth,
  757. k_EInputActionOrigin_Switch_RightStick_DPadWest,
  758. k_EInputActionOrigin_Switch_RightStick_DPadEast,
  759. k_EInputActionOrigin_Switch_DPad_North,
  760. k_EInputActionOrigin_Switch_DPad_South,
  761. k_EInputActionOrigin_Switch_DPad_West,
  762. k_EInputActionOrigin_Switch_DPad_East,
  763. k_EInputActionOrigin_Switch_ProGyro_Move, // Primary Gyro in Pro Controller, or Right JoyCon
  764. k_EInputActionOrigin_Switch_ProGyro_Pitch, // Primary Gyro in Pro Controller, or Right JoyCon
  765. k_EInputActionOrigin_Switch_ProGyro_Yaw, // Primary Gyro in Pro Controller, or Right JoyCon
  766. k_EInputActionOrigin_Switch_ProGyro_Roll, // Primary Gyro in Pro Controller, or Right JoyCon
  767. k_EInputActionOrigin_Switch_DPad_Move,
  768. k_EInputActionOrigin_Switch_Reserved1,
  769. k_EInputActionOrigin_Switch_Reserved2,
  770. k_EInputActionOrigin_Switch_Reserved3,
  771. k_EInputActionOrigin_Switch_Reserved4,
  772. k_EInputActionOrigin_Switch_Reserved5,
  773. k_EInputActionOrigin_Switch_Reserved6,
  774. k_EInputActionOrigin_Switch_Reserved7,
  775. k_EInputActionOrigin_Switch_Reserved8,
  776. k_EInputActionOrigin_Switch_Reserved9,
  777. k_EInputActionOrigin_Switch_Reserved10,
  778. // Switch JoyCon Specific
  779. k_EInputActionOrigin_Switch_RightGyro_Move, // Right JoyCon Gyro generally should correspond to Pro's single gyro
  780. k_EInputActionOrigin_Switch_RightGyro_Pitch, // Right JoyCon Gyro generally should correspond to Pro's single gyro
  781. k_EInputActionOrigin_Switch_RightGyro_Yaw, // Right JoyCon Gyro generally should correspond to Pro's single gyro
  782. k_EInputActionOrigin_Switch_RightGyro_Roll, // Right JoyCon Gyro generally should correspond to Pro's single gyro
  783. k_EInputActionOrigin_Switch_LeftGyro_Move,
  784. k_EInputActionOrigin_Switch_LeftGyro_Pitch,
  785. k_EInputActionOrigin_Switch_LeftGyro_Yaw,
  786. k_EInputActionOrigin_Switch_LeftGyro_Roll,
  787. k_EInputActionOrigin_Switch_LeftGrip_Lower, // Left JoyCon SR Button
  788. k_EInputActionOrigin_Switch_LeftGrip_Upper, // Left JoyCon SL Button
  789. k_EInputActionOrigin_Switch_RightGrip_Lower, // Right JoyCon SL Button
  790. k_EInputActionOrigin_Switch_RightGrip_Upper, // Right JoyCon SR Button
  791. k_EInputActionOrigin_Switch_Reserved11,
  792. k_EInputActionOrigin_Switch_Reserved12,
  793. k_EInputActionOrigin_Switch_Reserved13,
  794. k_EInputActionOrigin_Switch_Reserved14,
  795. k_EInputActionOrigin_Switch_Reserved15,
  796. k_EInputActionOrigin_Switch_Reserved16,
  797. k_EInputActionOrigin_Switch_Reserved17,
  798. k_EInputActionOrigin_Switch_Reserved18,
  799. k_EInputActionOrigin_Switch_Reserved19,
  800. k_EInputActionOrigin_Switch_Reserved20,
  801. k_EInputActionOrigin_Count, // If Steam has added support for new controllers origins will go here.
  802. k_EInputActionOrigin_MaximumPossibleValue = 32767, // Origins are currently a maximum of 16 bits.
  803. }
  804. public enum EXboxOrigin : int {
  805. k_EXboxOrigin_A,
  806. k_EXboxOrigin_B,
  807. k_EXboxOrigin_X,
  808. k_EXboxOrigin_Y,
  809. k_EXboxOrigin_LeftBumper,
  810. k_EXboxOrigin_RightBumper,
  811. k_EXboxOrigin_Menu, //Start
  812. k_EXboxOrigin_View, //Back
  813. k_EXboxOrigin_LeftTrigger_Pull,
  814. k_EXboxOrigin_LeftTrigger_Click,
  815. k_EXboxOrigin_RightTrigger_Pull,
  816. k_EXboxOrigin_RightTrigger_Click,
  817. k_EXboxOrigin_LeftStick_Move,
  818. k_EXboxOrigin_LeftStick_Click,
  819. k_EXboxOrigin_LeftStick_DPadNorth,
  820. k_EXboxOrigin_LeftStick_DPadSouth,
  821. k_EXboxOrigin_LeftStick_DPadWest,
  822. k_EXboxOrigin_LeftStick_DPadEast,
  823. k_EXboxOrigin_RightStick_Move,
  824. k_EXboxOrigin_RightStick_Click,
  825. k_EXboxOrigin_RightStick_DPadNorth,
  826. k_EXboxOrigin_RightStick_DPadSouth,
  827. k_EXboxOrigin_RightStick_DPadWest,
  828. k_EXboxOrigin_RightStick_DPadEast,
  829. k_EXboxOrigin_DPad_North,
  830. k_EXboxOrigin_DPad_South,
  831. k_EXboxOrigin_DPad_West,
  832. k_EXboxOrigin_DPad_East,
  833. k_EXboxOrigin_Count,
  834. }
  835. public enum ESteamControllerPad : int {
  836. k_ESteamControllerPad_Left,
  837. k_ESteamControllerPad_Right
  838. }
  839. public enum ESteamInputType : int {
  840. k_ESteamInputType_Unknown,
  841. k_ESteamInputType_SteamController,
  842. k_ESteamInputType_XBox360Controller,
  843. k_ESteamInputType_XBoxOneController,
  844. k_ESteamInputType_GenericGamepad, // DirectInput controllers
  845. k_ESteamInputType_PS4Controller,
  846. k_ESteamInputType_AppleMFiController, // Unused
  847. k_ESteamInputType_AndroidController, // Unused
  848. k_ESteamInputType_SwitchJoyConPair, // Unused
  849. k_ESteamInputType_SwitchJoyConSingle, // Unused
  850. k_ESteamInputType_SwitchProController,
  851. k_ESteamInputType_MobileTouch, // Steam Link App On-screen Virtual Controller
  852. k_ESteamInputType_PS3Controller, // Currently uses PS4 Origins
  853. k_ESteamInputType_Count,
  854. k_ESteamInputType_MaximumPossibleValue = 255,
  855. }
  856. // These values are passed into SetLEDColor
  857. public enum ESteamInputLEDFlag : int {
  858. k_ESteamInputLEDFlag_SetColor,
  859. // Restore the LED color to the user's preference setting as set in the controller personalization menu.
  860. // This also happens automatically on exit of your game.
  861. k_ESteamInputLEDFlag_RestoreUserDefault
  862. }
  863. [Flags]
  864. public enum ESteamItemFlags : int {
  865. // Item status flags - these flags are permanently attached to specific item instances
  866. k_ESteamItemNoTrade = 1 << 0, // This item is account-locked and cannot be traded or given away.
  867. // Action confirmation flags - these flags are set one time only, as part of a result set
  868. k_ESteamItemRemoved = 1 << 8, // The item has been destroyed, traded away, expired, or otherwise invalidated
  869. k_ESteamItemConsumed = 1 << 9, // The item quantity has been decreased by 1 via ConsumeItem API.
  870. // All other flag bits are currently reserved for internal Steam use at this time.
  871. // Do not assume anything about the state of other flags which are not defined here.
  872. }
  873. // lobby type description
  874. public enum ELobbyType : int {
  875. k_ELobbyTypePrivate = 0, // only way to join the lobby is to invite to someone else
  876. k_ELobbyTypeFriendsOnly = 1, // shows for friends or invitees, but not in lobby list
  877. k_ELobbyTypePublic = 2, // visible for friends and in lobby list
  878. k_ELobbyTypeInvisible = 3, // returned by search, but not visible to other friends
  879. // useful if you want a user in two lobbies, for example matching groups together
  880. // a user can be in only one regular lobby, and up to two invisible lobbies
  881. k_ELobbyTypePrivateUnique = 4, // private, unique and does not delete when empty - only one of these may exist per unique keypair set
  882. // can only create from webapi
  883. }
  884. // lobby search filter tools
  885. public enum ELobbyComparison : int {
  886. k_ELobbyComparisonEqualToOrLessThan = -2,
  887. k_ELobbyComparisonLessThan = -1,
  888. k_ELobbyComparisonEqual = 0,
  889. k_ELobbyComparisonGreaterThan = 1,
  890. k_ELobbyComparisonEqualToOrGreaterThan = 2,
  891. k_ELobbyComparisonNotEqual = 3,
  892. }
  893. // lobby search distance. Lobby results are sorted from closest to farthest.
  894. public enum ELobbyDistanceFilter : int {
  895. k_ELobbyDistanceFilterClose, // only lobbies in the same immediate region will be returned
  896. k_ELobbyDistanceFilterDefault, // only lobbies in the same region or near by regions
  897. k_ELobbyDistanceFilterFar, // for games that don't have many latency requirements, will return lobbies about half-way around the globe
  898. k_ELobbyDistanceFilterWorldwide, // no filtering, will match lobbies as far as India to NY (not recommended, expect multiple seconds of latency between the clients)
  899. }
  900. //-----------------------------------------------------------------------------
  901. // Purpose: Used in ChatInfo messages - fields specific to a chat member - must fit in a uint32
  902. //-----------------------------------------------------------------------------
  903. [Flags]
  904. public enum EChatMemberStateChange : int {
  905. // Specific to joining / leaving the chatroom
  906. k_EChatMemberStateChangeEntered = 0x0001, // This user has joined or is joining the chat room
  907. k_EChatMemberStateChangeLeft = 0x0002, // This user has left or is leaving the chat room
  908. k_EChatMemberStateChangeDisconnected = 0x0004, // User disconnected without leaving the chat first
  909. k_EChatMemberStateChangeKicked = 0x0008, // User kicked
  910. k_EChatMemberStateChangeBanned = 0x0010, // User kicked and banned
  911. }
  912. //-----------------------------------------------------------------------------
  913. // Purpose: Functions for quickly creating a Party with friends or acquaintances,
  914. // EG from chat rooms.
  915. //-----------------------------------------------------------------------------
  916. public enum ESteamPartyBeaconLocationType : int {
  917. k_ESteamPartyBeaconLocationType_Invalid = 0,
  918. k_ESteamPartyBeaconLocationType_ChatGroup = 1,
  919. k_ESteamPartyBeaconLocationType_Max,
  920. }
  921. public enum ESteamPartyBeaconLocationData : int {
  922. k_ESteamPartyBeaconLocationDataInvalid = 0,
  923. k_ESteamPartyBeaconLocationDataName = 1,
  924. k_ESteamPartyBeaconLocationDataIconURLSmall = 2,
  925. k_ESteamPartyBeaconLocationDataIconURLMedium = 3,
  926. k_ESteamPartyBeaconLocationDataIconURLLarge = 4,
  927. }
  928. public enum PlayerAcceptState_t : int {
  929. k_EStateUnknown = 0,
  930. k_EStatePlayerAccepted = 1,
  931. k_EStatePlayerDeclined = 2,
  932. }
  933. //-----------------------------------------------------------------------------
  934. // Purpose:
  935. //-----------------------------------------------------------------------------
  936. public enum AudioPlayback_Status : int {
  937. AudioPlayback_Undefined = 0,
  938. AudioPlayback_Playing = 1,
  939. AudioPlayback_Paused = 2,
  940. AudioPlayback_Idle = 3
  941. }
  942. // list of possible errors returned by SendP2PPacket() API
  943. // these will be posted in the P2PSessionConnectFail_t callback
  944. public enum EP2PSessionError : int {
  945. k_EP2PSessionErrorNone = 0,
  946. k_EP2PSessionErrorNotRunningApp = 1, // target is not running the same game
  947. k_EP2PSessionErrorNoRightsToApp = 2, // local user doesn't own the app that is running
  948. k_EP2PSessionErrorDestinationNotLoggedIn = 3, // target user isn't connected to Steam
  949. k_EP2PSessionErrorTimeout = 4, // target isn't responding, perhaps not calling AcceptP2PSessionWithUser()
  950. // corporate firewalls can also block this (NAT traversal is not firewall traversal)
  951. // make sure that UDP ports 3478, 4379, and 4380 are open in an outbound direction
  952. k_EP2PSessionErrorMax = 5
  953. }
  954. // SendP2PPacket() send types
  955. // Typically k_EP2PSendUnreliable is what you want for UDP-like packets, k_EP2PSendReliable for TCP-like packets
  956. public enum EP2PSend : int {
  957. // Basic UDP send. Packets can't be bigger than 1200 bytes (your typical MTU size). Can be lost, or arrive out of order (rare).
  958. // The sending API does have some knowledge of the underlying connection, so if there is no NAT-traversal accomplished or
  959. // there is a recognized adjustment happening on the connection, the packet will be batched until the connection is open again.
  960. k_EP2PSendUnreliable = 0,
  961. // As above, but if the underlying p2p connection isn't yet established the packet will just be thrown away. Using this on the first
  962. // packet sent to a remote host almost guarantees the packet will be dropped.
  963. // This is only really useful for kinds of data that should never buffer up, i.e. voice payload packets
  964. k_EP2PSendUnreliableNoDelay = 1,
  965. // Reliable message send. Can send up to 1MB of data in a single message.
  966. // Does fragmentation/re-assembly of messages under the hood, as well as a sliding window for efficient sends of large chunks of data.
  967. k_EP2PSendReliable = 2,
  968. // As above, but applies the Nagle algorithm to the send - sends will accumulate
  969. // until the current MTU size (typically ~1200 bytes, but can change) or ~200ms has passed (Nagle algorithm).
  970. // Useful if you want to send a set of smaller messages but have the coalesced into a single packet
  971. // Since the reliable stream is all ordered, you can do several small message sends with k_EP2PSendReliableWithBuffering and then
  972. // do a normal k_EP2PSendReliable to force all the buffered data to be sent.
  973. k_EP2PSendReliableWithBuffering = 3,
  974. }
  975. // connection progress indicators, used by CreateP2PConnectionSocket()
  976. public enum ESNetSocketState : int {
  977. k_ESNetSocketStateInvalid = 0,
  978. // communication is valid
  979. k_ESNetSocketStateConnected = 1,
  980. // states while establishing a connection
  981. k_ESNetSocketStateInitiated = 10, // the connection state machine has started
  982. // p2p connections
  983. k_ESNetSocketStateLocalCandidatesFound = 11, // we've found our local IP info
  984. k_ESNetSocketStateReceivedRemoteCandidates = 12,// we've received information from the remote machine, via the Steam back-end, about their IP info
  985. // direct connections
  986. k_ESNetSocketStateChallengeHandshake = 15, // we've received a challenge packet from the server
  987. // failure states
  988. k_ESNetSocketStateDisconnecting = 21, // the API shut it down, and we're in the process of telling the other end
  989. k_ESNetSocketStateLocalDisconnect = 22, // the API shut it down, and we've completed shutdown
  990. k_ESNetSocketStateTimeoutDuringConnect = 23, // we timed out while trying to creating the connection
  991. k_ESNetSocketStateRemoteEndDisconnected = 24, // the remote end has disconnected from us
  992. k_ESNetSocketStateConnectionBroken = 25, // connection has been broken; either the other end has disappeared or our local network connection has broke
  993. }
  994. // describes how the socket is currently connected
  995. public enum ESNetSocketConnectionType : int {
  996. k_ESNetSocketConnectionTypeNotConnected = 0,
  997. k_ESNetSocketConnectionTypeUDP = 1,
  998. k_ESNetSocketConnectionTypeUDPRelay = 2,
  999. }
  1000. // Feature types for parental settings
  1001. public enum EParentalFeature : int {
  1002. k_EFeatureInvalid = 0,
  1003. k_EFeatureStore = 1,
  1004. k_EFeatureCommunity = 2,
  1005. k_EFeatureProfile = 3,
  1006. k_EFeatureFriends = 4,
  1007. k_EFeatureNews = 5,
  1008. k_EFeatureTrading = 6,
  1009. k_EFeatureSettings = 7,
  1010. k_EFeatureConsole = 8,
  1011. k_EFeatureBrowser = 9,
  1012. k_EFeatureParentalSetup = 10,
  1013. k_EFeatureLibrary = 11,
  1014. k_EFeatureTest = 12,
  1015. k_EFeatureMax
  1016. }
  1017. //-----------------------------------------------------------------------------
  1018. // Purpose: The form factor of a device
  1019. //-----------------------------------------------------------------------------
  1020. public enum ESteamDeviceFormFactor : int {
  1021. k_ESteamDeviceFormFactorUnknown,
  1022. k_ESteamDeviceFormFactorPhone,
  1023. k_ESteamDeviceFormFactorTablet,
  1024. k_ESteamDeviceFormFactorComputer,
  1025. k_ESteamDeviceFormFactorTV,
  1026. }
  1027. [Flags]
  1028. public enum ERemoteStoragePlatform : int {
  1029. k_ERemoteStoragePlatformNone = 0,
  1030. k_ERemoteStoragePlatformWindows = (1 << 0),
  1031. k_ERemoteStoragePlatformOSX = (1 << 1),
  1032. k_ERemoteStoragePlatformPS3 = (1 << 2),
  1033. k_ERemoteStoragePlatformLinux = (1 << 3),
  1034. k_ERemoteStoragePlatformReserved2 = (1 << 4),
  1035. k_ERemoteStoragePlatformAndroid = (1 << 5),
  1036. k_ERemoteStoragePlatformIOS = (1 << 6),
  1037. k_ERemoteStoragePlatformAll = -1
  1038. }
  1039. public enum ERemoteStoragePublishedFileVisibility : int {
  1040. k_ERemoteStoragePublishedFileVisibilityPublic = 0,
  1041. k_ERemoteStoragePublishedFileVisibilityFriendsOnly = 1,
  1042. k_ERemoteStoragePublishedFileVisibilityPrivate = 2,
  1043. }
  1044. public enum EWorkshopFileType : int {
  1045. k_EWorkshopFileTypeFirst = 0,
  1046. k_EWorkshopFileTypeCommunity = 0, // normal Workshop item that can be subscribed to
  1047. k_EWorkshopFileTypeMicrotransaction = 1, // Workshop item that is meant to be voted on for the purpose of selling in-game
  1048. k_EWorkshopFileTypeCollection = 2, // a collection of Workshop or Greenlight items
  1049. k_EWorkshopFileTypeArt = 3, // artwork
  1050. k_EWorkshopFileTypeVideo = 4, // external video
  1051. k_EWorkshopFileTypeScreenshot = 5, // screenshot
  1052. k_EWorkshopFileTypeGame = 6, // Greenlight game entry
  1053. k_EWorkshopFileTypeSoftware = 7, // Greenlight software entry
  1054. k_EWorkshopFileTypeConcept = 8, // Greenlight concept
  1055. k_EWorkshopFileTypeWebGuide = 9, // Steam web guide
  1056. k_EWorkshopFileTypeIntegratedGuide = 10, // application integrated guide
  1057. k_EWorkshopFileTypeMerch = 11, // Workshop merchandise meant to be voted on for the purpose of being sold
  1058. k_EWorkshopFileTypeControllerBinding = 12, // Steam Controller bindings
  1059. k_EWorkshopFileTypeSteamworksAccessInvite = 13, // internal
  1060. k_EWorkshopFileTypeSteamVideo = 14, // Steam video
  1061. k_EWorkshopFileTypeGameManagedItem = 15, // managed completely by the game, not the user, and not shown on the web
  1062. // Update k_EWorkshopFileTypeMax if you add values.
  1063. k_EWorkshopFileTypeMax = 16
  1064. }
  1065. public enum EWorkshopVote : int {
  1066. k_EWorkshopVoteUnvoted = 0,
  1067. k_EWorkshopVoteFor = 1,
  1068. k_EWorkshopVoteAgainst = 2,
  1069. k_EWorkshopVoteLater = 3,
  1070. }
  1071. public enum EWorkshopFileAction : int {
  1072. k_EWorkshopFileActionPlayed = 0,
  1073. k_EWorkshopFileActionCompleted = 1,
  1074. }
  1075. public enum EWorkshopEnumerationType : int {
  1076. k_EWorkshopEnumerationTypeRankedByVote = 0,
  1077. k_EWorkshopEnumerationTypeRecent = 1,
  1078. k_EWorkshopEnumerationTypeTrending = 2,
  1079. k_EWorkshopEnumerationTypeFavoritesOfFriends = 3,
  1080. k_EWorkshopEnumerationTypeVotedByFriends = 4,
  1081. k_EWorkshopEnumerationTypeContentByFriends = 5,
  1082. k_EWorkshopEnumerationTypeRecentFromFollowedUsers = 6,
  1083. }
  1084. public enum EWorkshopVideoProvider : int {
  1085. k_EWorkshopVideoProviderNone = 0,
  1086. k_EWorkshopVideoProviderYoutube = 1
  1087. }
  1088. public enum EUGCReadAction : int {
  1089. // Keeps the file handle open unless the last byte is read. You can use this when reading large files (over 100MB) in sequential chunks.
  1090. // If the last byte is read, this will behave the same as k_EUGCRead_Close. Otherwise, it behaves the same as k_EUGCRead_ContinueReading.
  1091. // This value maintains the same behavior as before the EUGCReadAction parameter was introduced.
  1092. k_EUGCRead_ContinueReadingUntilFinished = 0,
  1093. // Keeps the file handle open. Use this when using UGCRead to seek to different parts of the file.
  1094. // When you are done seeking around the file, make a final call with k_EUGCRead_Close to close it.
  1095. k_EUGCRead_ContinueReading = 1,
  1096. // Frees the file handle. Use this when you're done reading the content.
  1097. // To read the file from Steam again you will need to call UGCDownload again.
  1098. k_EUGCRead_Close = 2,
  1099. }
  1100. public enum EVRScreenshotType : int {
  1101. k_EVRScreenshotType_None = 0,
  1102. k_EVRScreenshotType_Mono = 1,
  1103. k_EVRScreenshotType_Stereo = 2,
  1104. k_EVRScreenshotType_MonoCubemap = 3,
  1105. k_EVRScreenshotType_MonoPanorama = 4,
  1106. k_EVRScreenshotType_StereoPanorama = 5
  1107. }
  1108. // Matching UGC types for queries
  1109. public enum EUGCMatchingUGCType : int {
  1110. k_EUGCMatchingUGCType_Items = 0, // both mtx items and ready-to-use items
  1111. k_EUGCMatchingUGCType_Items_Mtx = 1,
  1112. k_EUGCMatchingUGCType_Items_ReadyToUse = 2,
  1113. k_EUGCMatchingUGCType_Collections = 3,
  1114. k_EUGCMatchingUGCType_Artwork = 4,
  1115. k_EUGCMatchingUGCType_Videos = 5,
  1116. k_EUGCMatchingUGCType_Screenshots = 6,
  1117. k_EUGCMatchingUGCType_AllGuides = 7, // both web guides and integrated guides
  1118. k_EUGCMatchingUGCType_WebGuides = 8,
  1119. k_EUGCMatchingUGCType_IntegratedGuides = 9,
  1120. k_EUGCMatchingUGCType_UsableInGame = 10, // ready-to-use items and integrated guides
  1121. k_EUGCMatchingUGCType_ControllerBindings = 11,
  1122. k_EUGCMatchingUGCType_GameManagedItems = 12, // game managed items (not managed by users)
  1123. k_EUGCMatchingUGCType_All = ~0, // return everything
  1124. }
  1125. // Different lists of published UGC for a user.
  1126. // If the current logged in user is different than the specified user, then some options may not be allowed.
  1127. public enum EUserUGCList : int {
  1128. k_EUserUGCList_Published,
  1129. k_EUserUGCList_VotedOn,
  1130. k_EUserUGCList_VotedUp,
  1131. k_EUserUGCList_VotedDown,
  1132. k_EUserUGCList_WillVoteLater,
  1133. k_EUserUGCList_Favorited,
  1134. k_EUserUGCList_Subscribed,
  1135. k_EUserUGCList_UsedOrPlayed,
  1136. k_EUserUGCList_Followed,
  1137. }
  1138. // Sort order for user published UGC lists (defaults to creation order descending)
  1139. public enum EUserUGCListSortOrder : int {
  1140. k_EUserUGCListSortOrder_CreationOrderDesc,
  1141. k_EUserUGCListSortOrder_CreationOrderAsc,
  1142. k_EUserUGCListSortOrder_TitleAsc,
  1143. k_EUserUGCListSortOrder_LastUpdatedDesc,
  1144. k_EUserUGCListSortOrder_SubscriptionDateDesc,
  1145. k_EUserUGCListSortOrder_VoteScoreDesc,
  1146. k_EUserUGCListSortOrder_ForModeration,
  1147. }
  1148. // Combination of sorting and filtering for queries across all UGC
  1149. public enum EUGCQuery : int {
  1150. k_EUGCQuery_RankedByVote = 0,
  1151. k_EUGCQuery_RankedByPublicationDate = 1,
  1152. k_EUGCQuery_AcceptedForGameRankedByAcceptanceDate = 2,
  1153. k_EUGCQuery_RankedByTrend = 3,
  1154. k_EUGCQuery_FavoritedByFriendsRankedByPublicationDate = 4,
  1155. k_EUGCQuery_CreatedByFriendsRankedByPublicationDate = 5,
  1156. k_EUGCQuery_RankedByNumTimesReported = 6,
  1157. k_EUGCQuery_CreatedByFollowedUsersRankedByPublicationDate = 7,
  1158. k_EUGCQuery_NotYetRated = 8,
  1159. k_EUGCQuery_RankedByTotalVotesAsc = 9,
  1160. k_EUGCQuery_RankedByVotesUp = 10,
  1161. k_EUGCQuery_RankedByTextSearch = 11,
  1162. k_EUGCQuery_RankedByTotalUniqueSubscriptions = 12,
  1163. k_EUGCQuery_RankedByPlaytimeTrend = 13,
  1164. k_EUGCQuery_RankedByTotalPlaytime = 14,
  1165. k_EUGCQuery_RankedByAveragePlaytimeTrend = 15,
  1166. k_EUGCQuery_RankedByLifetimeAveragePlaytime = 16,
  1167. k_EUGCQuery_RankedByPlaytimeSessionsTrend = 17,
  1168. k_EUGCQuery_RankedByLifetimePlaytimeSessions = 18,
  1169. }
  1170. public enum EItemUpdateStatus : int {
  1171. k_EItemUpdateStatusInvalid = 0, // The item update handle was invalid, job might be finished, listen too SubmitItemUpdateResult_t
  1172. k_EItemUpdateStatusPreparingConfig = 1, // The item update is processing configuration data
  1173. k_EItemUpdateStatusPreparingContent = 2, // The item update is reading and processing content files
  1174. k_EItemUpdateStatusUploadingContent = 3, // The item update is uploading content changes to Steam
  1175. k_EItemUpdateStatusUploadingPreviewFile = 4, // The item update is uploading new preview file image
  1176. k_EItemUpdateStatusCommittingChanges = 5 // The item update is committing all changes
  1177. }
  1178. [Flags]
  1179. public enum EItemState : int {
  1180. k_EItemStateNone = 0, // item not tracked on client
  1181. k_EItemStateSubscribed = 1, // current user is subscribed to this item. Not just cached.
  1182. k_EItemStateLegacyItem = 2, // item was created with ISteamRemoteStorage
  1183. k_EItemStateInstalled = 4, // item is installed and usable (but maybe out of date)
  1184. k_EItemStateNeedsUpdate = 8, // items needs an update. Either because it's not installed yet or creator updated content
  1185. k_EItemStateDownloading = 16, // item update is currently downloading
  1186. k_EItemStateDownloadPending = 32, // DownloadItem() was called for this item, content isn't available until DownloadItemResult_t is fired
  1187. }
  1188. public enum EItemStatistic : int {
  1189. k_EItemStatistic_NumSubscriptions = 0,
  1190. k_EItemStatistic_NumFavorites = 1,
  1191. k_EItemStatistic_NumFollowers = 2,
  1192. k_EItemStatistic_NumUniqueSubscriptions = 3,
  1193. k_EItemStatistic_NumUniqueFavorites = 4,
  1194. k_EItemStatistic_NumUniqueFollowers = 5,
  1195. k_EItemStatistic_NumUniqueWebsiteViews = 6,
  1196. k_EItemStatistic_ReportScore = 7,
  1197. k_EItemStatistic_NumSecondsPlayed = 8,
  1198. k_EItemStatistic_NumPlaytimeSessions = 9,
  1199. k_EItemStatistic_NumComments = 10,
  1200. k_EItemStatistic_NumSecondsPlayedDuringTimePeriod = 11,
  1201. k_EItemStatistic_NumPlaytimeSessionsDuringTimePeriod = 12,
  1202. }
  1203. public enum EItemPreviewType : int {
  1204. k_EItemPreviewType_Image = 0, // standard image file expected (e.g. jpg, png, gif, etc.)
  1205. k_EItemPreviewType_YouTubeVideo = 1, // video id is stored
  1206. k_EItemPreviewType_Sketchfab = 2, // model id is stored
  1207. k_EItemPreviewType_EnvironmentMap_HorizontalCross = 3, // standard image file expected - cube map in the layout
  1208. // +---+---+-------+
  1209. // | |Up | |
  1210. // +---+---+---+---+
  1211. // | L | F | R | B |
  1212. // +---+---+---+---+
  1213. // | |Dn | |
  1214. // +---+---+---+---+
  1215. k_EItemPreviewType_EnvironmentMap_LatLong = 4, // standard image file expected
  1216. k_EItemPreviewType_ReservedMax = 255, // you can specify your own types above this value
  1217. }
  1218. public enum EFailureType : int {
  1219. k_EFailureFlushedCallbackQueue,
  1220. k_EFailurePipeFail,
  1221. }
  1222. // type of data request, when downloading leaderboard entries
  1223. public enum ELeaderboardDataRequest : int {
  1224. k_ELeaderboardDataRequestGlobal = 0,
  1225. k_ELeaderboardDataRequestGlobalAroundUser = 1,
  1226. k_ELeaderboardDataRequestFriends = 2,
  1227. k_ELeaderboardDataRequestUsers = 3
  1228. }
  1229. // the sort order of a leaderboard
  1230. public enum ELeaderboardSortMethod : int {
  1231. k_ELeaderboardSortMethodNone = 0,
  1232. k_ELeaderboardSortMethodAscending = 1, // top-score is lowest number
  1233. k_ELeaderboardSortMethodDescending = 2, // top-score is highest number
  1234. }
  1235. // the display type (used by the Steam Community web site) for a leaderboard
  1236. public enum ELeaderboardDisplayType : int {
  1237. k_ELeaderboardDisplayTypeNone = 0,
  1238. k_ELeaderboardDisplayTypeNumeric = 1, // simple numerical score
  1239. k_ELeaderboardDisplayTypeTimeSeconds = 2, // the score represents a time, in seconds
  1240. k_ELeaderboardDisplayTypeTimeMilliSeconds = 3, // the score represents a time, in milliseconds
  1241. }
  1242. public enum ELeaderboardUploadScoreMethod : int {
  1243. k_ELeaderboardUploadScoreMethodNone = 0,
  1244. k_ELeaderboardUploadScoreMethodKeepBest = 1, // Leaderboard will keep user's best score
  1245. k_ELeaderboardUploadScoreMethodForceUpdate = 2, // Leaderboard will always replace score with specified
  1246. }
  1247. // Steam API call failure results
  1248. public enum ESteamAPICallFailure : int {
  1249. k_ESteamAPICallFailureNone = -1, // no failure
  1250. k_ESteamAPICallFailureSteamGone = 0, // the local Steam process has gone away
  1251. k_ESteamAPICallFailureNetworkFailure = 1, // the network connection to Steam has been broken, or was already broken
  1252. // SteamServersDisconnected_t callback will be sent around the same time
  1253. // SteamServersConnected_t will be sent when the client is able to talk to the Steam servers again
  1254. k_ESteamAPICallFailureInvalidHandle = 2, // the SteamAPICall_t handle passed in no longer exists
  1255. k_ESteamAPICallFailureMismatchedCallback = 3,// GetAPICallResult() was called with the wrong callback type for this API call
  1256. }
  1257. // Input modes for the Big Picture gamepad text entry
  1258. public enum EGamepadTextInputMode : int {
  1259. k_EGamepadTextInputModeNormal = 0,
  1260. k_EGamepadTextInputModePassword = 1
  1261. }
  1262. // Controls number of allowed lines for the Big Picture gamepad text entry
  1263. public enum EGamepadTextInputLineMode : int {
  1264. k_EGamepadTextInputLineModeSingleLine = 0,
  1265. k_EGamepadTextInputLineModeMultipleLines = 1
  1266. }
  1267. //-----------------------------------------------------------------------------
  1268. // results for CheckFileSignature
  1269. //-----------------------------------------------------------------------------
  1270. public enum ECheckFileSignature : int {
  1271. k_ECheckFileSignatureInvalidSignature = 0,
  1272. k_ECheckFileSignatureValidSignature = 1,
  1273. k_ECheckFileSignatureFileNotFound = 2,
  1274. k_ECheckFileSignatureNoSignaturesFoundForThisApp = 3,
  1275. k_ECheckFileSignatureNoSignaturesFoundForThisFile = 4,
  1276. }
  1277. public enum EMatchMakingServerResponse : int {
  1278. eServerResponded = 0,
  1279. eServerFailedToRespond,
  1280. eNoServersListedOnMasterServer // for the Internet query type, returned in response callback if no servers of this type match
  1281. }
  1282. public enum EServerMode : int {
  1283. eServerModeInvalid = 0, // DO NOT USE
  1284. eServerModeNoAuthentication = 1, // Don't authenticate user logins and don't list on the server list
  1285. eServerModeAuthentication = 2, // Authenticate users, list on the server list, don't run VAC on clients that connect
  1286. eServerModeAuthenticationAndSecure = 3, // Authenticate users, list on the server list and VAC protect clients
  1287. }
  1288. // General result codes
  1289. public enum EResult : int {
  1290. k_EResultOK = 1, // success
  1291. k_EResultFail = 2, // generic failure
  1292. k_EResultNoConnection = 3, // no/failed network connection
  1293. // k_EResultNoConnectionRetry = 4, // OBSOLETE - removed
  1294. k_EResultInvalidPassword = 5, // password/ticket is invalid
  1295. k_EResultLoggedInElsewhere = 6, // same user logged in elsewhere
  1296. k_EResultInvalidProtocolVer = 7, // protocol version is incorrect
  1297. k_EResultInvalidParam = 8, // a parameter is incorrect
  1298. k_EResultFileNotFound = 9, // file was not found
  1299. k_EResultBusy = 10, // called method busy - action not taken
  1300. k_EResultInvalidState = 11, // called object was in an invalid state
  1301. k_EResultInvalidName = 12, // name is invalid
  1302. k_EResultInvalidEmail = 13, // email is invalid
  1303. k_EResultDuplicateName = 14, // name is not unique
  1304. k_EResultAccessDenied = 15, // access is denied
  1305. k_EResultTimeout = 16, // operation timed out
  1306. k_EResultBanned = 17, // VAC2 banned
  1307. k_EResultAccountNotFound = 18, // account not found
  1308. k_EResultInvalidSteamID = 19, // steamID is invalid
  1309. k_EResultServiceUnavailable = 20, // The requested service is currently unavailable
  1310. k_EResultNotLoggedOn = 21, // The user is not logged on
  1311. k_EResultPending = 22, // Request is pending (may be in process, or waiting on third party)
  1312. k_EResultEncryptionFailure = 23, // Encryption or Decryption failed
  1313. k_EResultInsufficientPrivilege = 24, // Insufficient privilege
  1314. k_EResultLimitExceeded = 25, // Too much of a good thing
  1315. k_EResultRevoked = 26, // Access has been revoked (used for revoked guest passes)
  1316. k_EResultExpired = 27, // License/Guest pass the user is trying to access is expired
  1317. k_EResultAlreadyRedeemed = 28, // Guest pass has already been redeemed by account, cannot be acked again
  1318. k_EResultDuplicateRequest = 29, // The request is a duplicate and the action has already occurred in the past, ignored this time
  1319. k_EResultAlreadyOwned = 30, // All the games in this guest pass redemption request are already owned by the user
  1320. k_EResultIPNotFound = 31, // IP address not found
  1321. k_EResultPersistFailed = 32, // failed to write change to the data store
  1322. k_EResultLockingFailed = 33, // failed to acquire access lock for this operation
  1323. k_EResultLogonSessionReplaced = 34,
  1324. k_EResultConnectFailed = 35,
  1325. k_EResultHandshakeFailed = 36,
  1326. k_EResultIOFailure = 37,
  1327. k_EResultRemoteDisconnect = 38,
  1328. k_EResultShoppingCartNotFound = 39, // failed to find the shopping cart requested
  1329. k_EResultBlocked = 40, // a user didn't allow it
  1330. k_EResultIgnored = 41, // target is ignoring sender
  1331. k_EResultNoMatch = 42, // nothing matching the request found
  1332. k_EResultAccountDisabled = 43,
  1333. k_EResultServiceReadOnly = 44, // this service is not accepting content changes right now
  1334. k_EResultAccountNotFeatured = 45, // account doesn't have value, so this feature isn't available
  1335. k_EResultAdministratorOK = 46, // allowed to take this action, but only because requester is admin
  1336. k_EResultContentVersion = 47, // A Version mismatch in content transmitted within the Steam protocol.
  1337. k_EResultTryAnotherCM = 48, // The current CM can't service the user making a request, user should try another.
  1338. k_EResultPasswordRequiredToKickSession = 49,// You are already logged in elsewhere, this cached credential login has failed.
  1339. k_EResultAlreadyLoggedInElsewhere = 50, // You are already logged in elsewhere, you must wait
  1340. k_EResultSuspended = 51, // Long running operation (content download) suspended/paused
  1341. k_EResultCancelled = 52, // Operation canceled (typically by user: content download)
  1342. k_EResultDataCorruption = 53, // Operation canceled because data is ill formed or unrecoverable
  1343. k_EResultDiskFull = 54, // Operation canceled - not enough disk space.
  1344. k_EResultRemoteCallFailed = 55, // an remote call or IPC call failed
  1345. k_EResultPasswordUnset = 56, // Password could not be verified as it's unset server side
  1346. k_EResultExternalAccountUnlinked = 57, // External account (PSN, Facebook...) is not linked to a Steam account
  1347. k_EResultPSNTicketInvalid = 58, // PSN ticket was invalid
  1348. k_EResultExternalAccountAlreadyLinked = 59, // External account (PSN, Facebook...) is already linked to some other account, must explicitly request to replace/delete the link first
  1349. k_EResultRemoteFileConflict = 60, // The sync cannot resume due to a conflict between the local and remote files
  1350. k_EResultIllegalPassword = 61, // The requested new password is not legal
  1351. k_EResultSameAsPreviousValue = 62, // new value is the same as the old one ( secret question and answer )
  1352. k_EResultAccountLogonDenied = 63, // account login denied due to 2nd factor authentication failure
  1353. k_EResultCannotUseOldPassword = 64, // The requested new password is not legal
  1354. k_EResultInvalidLoginAuthCode = 65, // account login denied due to auth code invalid
  1355. k_EResultAccountLogonDeniedNoMail = 66, // account login denied due to 2nd factor auth failure - and no mail has been sent
  1356. k_EResultHardwareNotCapableOfIPT = 67, //
  1357. k_EResultIPTInitError = 68, //
  1358. k_EResultParentalControlRestricted = 69, // operation failed due to parental control restrictions for current user
  1359. k_EResultFacebookQueryError = 70, // Facebook query returned an error
  1360. k_EResultExpiredLoginAuthCode = 71, // account login denied due to auth code expired
  1361. k_EResultIPLoginRestrictionFailed = 72,
  1362. k_EResultAccountLockedDown = 73,
  1363. k_EResultAccountLogonDeniedVerifiedEmailRequired = 74,
  1364. k_EResultNoMatchingURL = 75,
  1365. k_EResultBadResponse = 76, // parse failure, missing field, etc.
  1366. k_EResultRequirePasswordReEntry = 77, // The user cannot complete the action until they re-enter their password
  1367. k_EResultValueOutOfRange = 78, // the value entered is outside the acceptable range
  1368. k_EResultUnexpectedError = 79, // something happened that we didn't expect to ever happen
  1369. k_EResultDisabled = 80, // The requested service has been configured to be unavailable
  1370. k_EResultInvalidCEGSubmission = 81, // The set of files submitted to the CEG server are not valid !
  1371. k_EResultRestrictedDevice = 82, // The device being used is not allowed to perform this action
  1372. k_EResultRegionLocked = 83, // The action could not be complete because it is region restricted
  1373. k_EResultRateLimitExceeded = 84, // Temporary rate limit exceeded, try again later, different from k_EResultLimitExceeded which may be permanent
  1374. k_EResultAccountLoginDeniedNeedTwoFactor = 85, // Need two-factor code to login
  1375. k_EResultItemDeleted = 86, // The thing we're trying to access has been deleted
  1376. k_EResultAccountLoginDeniedThrottle = 87, // login attempt failed, try to throttle response to possible attacker
  1377. k_EResultTwoFactorCodeMismatch = 88, // two factor code mismatch
  1378. k_EResultTwoFactorActivationCodeMismatch = 89, // activation code for two-factor didn't match
  1379. k_EResultAccountAssociatedToMultiplePartners = 90, // account has been associated with multiple partners
  1380. k_EResultNotModified = 91, // data not modified
  1381. k_EResultNoMobileDevice = 92, // the account does not have a mobile device associated with it
  1382. k_EResultTimeNotSynced = 93, // the time presented is out of range or tolerance
  1383. k_EResultSmsCodeFailed = 94, // SMS code failure (no match, none pending, etc.)
  1384. k_EResultAccountLimitExceeded = 95, // Too many accounts access this resource
  1385. k_EResultAccountActivityLimitExceeded = 96, // Too many changes to this account
  1386. k_EResultPhoneActivityLimitExceeded = 97, // Too many changes to this phone
  1387. k_EResultRefundToWallet = 98, // Cannot refund to payment method, must use wallet
  1388. k_EResultEmailSendFailure = 99, // Cannot send an email
  1389. k_EResultNotSettled = 100, // Can't perform operation till payment has settled
  1390. k_EResultNeedCaptcha = 101, // Needs to provide a valid captcha
  1391. k_EResultGSLTDenied = 102, // a game server login token owned by this token's owner has been banned
  1392. k_EResultGSOwnerDenied = 103, // game server owner is denied for other reason (account lock, community ban, vac ban, missing phone)
  1393. k_EResultInvalidItemType = 104, // the type of thing we were requested to act on is invalid
  1394. k_EResultIPBanned = 105, // the ip address has been banned from taking this action
  1395. k_EResultGSLTExpired = 106, // this token has expired from disuse; can be reset for use
  1396. k_EResultInsufficientFunds = 107, // user doesn't have enough wallet funds to complete the action
  1397. k_EResultTooManyPending = 108, // There are too many of this thing pending already
  1398. k_EResultNoSiteLicensesFound = 109, // No site licenses found
  1399. k_EResultWGNetworkSendExceeded = 110, // the WG couldn't send a response because we exceeded max network send size
  1400. k_EResultAccountNotFriends = 111, // the user is not mutually friends
  1401. k_EResultLimitedUserAccount = 112, // the user is limited
  1402. k_EResultCantRemoveItem = 113, // item can't be removed
  1403. }
  1404. // Error codes for use with the voice functions
  1405. public enum EVoiceResult : int {
  1406. k_EVoiceResultOK = 0,
  1407. k_EVoiceResultNotInitialized = 1,
  1408. k_EVoiceResultNotRecording = 2,
  1409. k_EVoiceResultNoData = 3,
  1410. k_EVoiceResultBufferTooSmall = 4,
  1411. k_EVoiceResultDataCorrupted = 5,
  1412. k_EVoiceResultRestricted = 6,
  1413. k_EVoiceResultUnsupportedCodec = 7,
  1414. k_EVoiceResultReceiverOutOfDate = 8,
  1415. k_EVoiceResultReceiverDidNotAnswer = 9,
  1416. }
  1417. // Result codes to GSHandleClientDeny/Kick
  1418. public enum EDenyReason : int {
  1419. k_EDenyInvalid = 0,
  1420. k_EDenyInvalidVersion = 1,
  1421. k_EDenyGeneric = 2,
  1422. k_EDenyNotLoggedOn = 3,
  1423. k_EDenyNoLicense = 4,
  1424. k_EDenyCheater = 5,
  1425. k_EDenyLoggedInElseWhere = 6,
  1426. k_EDenyUnknownText = 7,
  1427. k_EDenyIncompatibleAnticheat = 8,
  1428. k_EDenyMemoryCorruption = 9,
  1429. k_EDenyIncompatibleSoftware = 10,
  1430. k_EDenySteamConnectionLost = 11,
  1431. k_EDenySteamConnectionError = 12,
  1432. k_EDenySteamResponseTimedOut = 13,
  1433. k_EDenySteamValidationStalled = 14,
  1434. k_EDenySteamOwnerLeftGuestUser = 15,
  1435. }
  1436. // results from BeginAuthSession
  1437. public enum EBeginAuthSessionResult : int {
  1438. k_EBeginAuthSessionResultOK = 0, // Ticket is valid for this game and this steamID.
  1439. k_EBeginAuthSessionResultInvalidTicket = 1, // Ticket is not valid.
  1440. k_EBeginAuthSessionResultDuplicateRequest = 2, // A ticket has already been submitted for this steamID
  1441. k_EBeginAuthSessionResultInvalidVersion = 3, // Ticket is from an incompatible interface version
  1442. k_EBeginAuthSessionResultGameMismatch = 4, // Ticket is not for this game
  1443. k_EBeginAuthSessionResultExpiredTicket = 5, // Ticket has expired
  1444. }
  1445. // Callback values for callback ValidateAuthTicketResponse_t which is a response to BeginAuthSession
  1446. public enum EAuthSessionResponse : int {
  1447. k_EAuthSessionResponseOK = 0, // Steam has verified the user is online, the ticket is valid and ticket has not been reused.
  1448. k_EAuthSessionResponseUserNotConnectedToSteam = 1, // The user in question is not connected to steam
  1449. k_EAuthSessionResponseNoLicenseOrExpired = 2, // The license has expired.
  1450. k_EAuthSessionResponseVACBanned = 3, // The user is VAC banned for this game.
  1451. k_EAuthSessionResponseLoggedInElseWhere = 4, // The user account has logged in elsewhere and the session containing the game instance has been disconnected.
  1452. k_EAuthSessionResponseVACCheckTimedOut = 5, // VAC has been unable to perform anti-cheat checks on this user
  1453. k_EAuthSessionResponseAuthTicketCanceled = 6, // The ticket has been canceled by the issuer
  1454. k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed = 7, // This ticket has already been used, it is not valid.
  1455. k_EAuthSessionResponseAuthTicketInvalid = 8, // This ticket is not from a user instance currently connected to steam.
  1456. k_EAuthSessionResponsePublisherIssuedBan = 9, // The user is banned for this game. The ban came via the web api and not VAC
  1457. }
  1458. // results from UserHasLicenseForApp
  1459. public enum EUserHasLicenseForAppResult : int {
  1460. k_EUserHasLicenseResultHasLicense = 0, // User has a license for specified app
  1461. k_EUserHasLicenseResultDoesNotHaveLicense = 1, // User does not have a license for the specified app
  1462. k_EUserHasLicenseResultNoAuth = 2, // User has not been authenticated
  1463. }
  1464. // Steam account types
  1465. public enum EAccountType : int {
  1466. k_EAccountTypeInvalid = 0,
  1467. k_EAccountTypeIndividual = 1, // single user account
  1468. k_EAccountTypeMultiseat = 2, // multiseat (e.g. cybercafe) account
  1469. k_EAccountTypeGameServer = 3, // game server account
  1470. k_EAccountTypeAnonGameServer = 4, // anonymous game server account
  1471. k_EAccountTypePending = 5, // pending
  1472. k_EAccountTypeContentServer = 6, // content server
  1473. k_EAccountTypeClan = 7,
  1474. k_EAccountTypeChat = 8,
  1475. k_EAccountTypeConsoleUser = 9, // Fake SteamID for local PSN account on PS3 or Live account on 360, etc.
  1476. k_EAccountTypeAnonUser = 10,
  1477. // Max of 16 items in this field
  1478. k_EAccountTypeMax
  1479. }
  1480. //-----------------------------------------------------------------------------
  1481. // Purpose:
  1482. //-----------------------------------------------------------------------------
  1483. public enum EAppReleaseState : int {
  1484. k_EAppReleaseState_Unknown = 0, // unknown, required appinfo or license info is missing
  1485. k_EAppReleaseState_Unavailable = 1, // even if user 'just' owns it, can see game at all
  1486. k_EAppReleaseState_Prerelease = 2, // can be purchased and is visible in games list, nothing else. Common appInfo section released
  1487. k_EAppReleaseState_PreloadOnly = 3, // owners can preload app, not play it. AppInfo fully released.
  1488. k_EAppReleaseState_Released = 4, // owners can download and play app.
  1489. }
  1490. //-----------------------------------------------------------------------------
  1491. // Purpose:
  1492. //-----------------------------------------------------------------------------
  1493. [Flags]
  1494. public enum EAppOwnershipFlags : int {
  1495. k_EAppOwnershipFlags_None = 0x0000, // unknown
  1496. k_EAppOwnershipFlags_OwnsLicense = 0x0001, // owns license for this game
  1497. k_EAppOwnershipFlags_FreeLicense = 0x0002, // not paid for game
  1498. k_EAppOwnershipFlags_RegionRestricted = 0x0004, // owns app, but not allowed to play in current region
  1499. k_EAppOwnershipFlags_LowViolence = 0x0008, // only low violence version
  1500. k_EAppOwnershipFlags_InvalidPlatform = 0x0010, // app not supported on current platform
  1501. k_EAppOwnershipFlags_SharedLicense = 0x0020, // license was granted by authorized local device
  1502. k_EAppOwnershipFlags_FreeWeekend = 0x0040, // owned by a free weekend licenses
  1503. k_EAppOwnershipFlags_RetailLicense = 0x0080, // has a retail license for game, (CD-Key etc)
  1504. k_EAppOwnershipFlags_LicenseLocked = 0x0100, // shared license is locked (in use) by other user
  1505. k_EAppOwnershipFlags_LicensePending = 0x0200, // owns app, but transaction is still pending. Can't install or play
  1506. k_EAppOwnershipFlags_LicenseExpired = 0x0400, // doesn't own app anymore since license expired
  1507. k_EAppOwnershipFlags_LicensePermanent = 0x0800, // permanent license, not borrowed, or guest or freeweekend etc
  1508. k_EAppOwnershipFlags_LicenseRecurring = 0x1000, // Recurring license, user is charged periodically
  1509. k_EAppOwnershipFlags_LicenseCanceled = 0x2000, // Mark as canceled, but might be still active if recurring
  1510. k_EAppOwnershipFlags_AutoGrant = 0x4000, // Ownership is based on any kind of autogrant license
  1511. k_EAppOwnershipFlags_PendingGift = 0x8000, // user has pending gift to redeem
  1512. k_EAppOwnershipFlags_RentalNotActivated = 0x10000, // Rental hasn't been activated yet
  1513. k_EAppOwnershipFlags_Rental = 0x20000, // Is a rental
  1514. k_EAppOwnershipFlags_SiteLicense = 0x40000, // Is from a site license
  1515. }
  1516. //-----------------------------------------------------------------------------
  1517. // Purpose: designed as flags to allow filters masks
  1518. // NOTE: If you add to this, please update PackageAppType (SteamConfig) as well as populatePackageAppType
  1519. //-----------------------------------------------------------------------------
  1520. [Flags]
  1521. public enum EAppType : int {
  1522. k_EAppType_Invalid = 0x000, // unknown / invalid
  1523. k_EAppType_Game = 0x001, // playable game, default type
  1524. k_EAppType_Application = 0x002, // software application
  1525. k_EAppType_Tool = 0x004, // SDKs, editors & dedicated servers
  1526. k_EAppType_Demo = 0x008, // game demo
  1527. k_EAppType_Media_DEPRECATED = 0x010, // legacy - was used for game trailers, which are now just videos on the web
  1528. k_EAppType_DLC = 0x020, // down loadable content
  1529. k_EAppType_Guide = 0x040, // game guide, PDF etc
  1530. k_EAppType_Driver = 0x080, // hardware driver updater (ATI, Razor etc)
  1531. k_EAppType_Config = 0x100, // hidden app used to config Steam features (backpack, sales, etc)
  1532. k_EAppType_Hardware = 0x200, // a hardware device (Steam Machine, Steam Controller, Steam Link, etc.)
  1533. k_EAppType_Franchise = 0x400, // A hub for collections of multiple apps, eg films, series, games
  1534. k_EAppType_Video = 0x800, // A video component of either a Film or TVSeries (may be the feature, an episode, preview, making-of, etc)
  1535. k_EAppType_Plugin = 0x1000, // Plug-in types for other Apps
  1536. k_EAppType_Music = 0x2000, // Music files
  1537. k_EAppType_Series = 0x4000, // Container app for video series
  1538. k_EAppType_Comic = 0x8000, // Comic Book
  1539. k_EAppType_Beta = 0x10000, // this is a beta version of a game
  1540. k_EAppType_Shortcut = 0x40000000, // just a shortcut, client side only
  1541. k_EAppType_DepotOnly = -2147483647, // placeholder since depots and apps share the same namespace
  1542. }
  1543. //-----------------------------------------------------------------------------
  1544. // types of user game stats fields
  1545. // WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE
  1546. //-----------------------------------------------------------------------------
  1547. public enum ESteamUserStatType : int {
  1548. k_ESteamUserStatTypeINVALID = 0,
  1549. k_ESteamUserStatTypeINT = 1,
  1550. k_ESteamUserStatTypeFLOAT = 2,
  1551. // Read as FLOAT, set with count / session length
  1552. k_ESteamUserStatTypeAVGRATE = 3,
  1553. k_ESteamUserStatTypeACHIEVEMENTS = 4,
  1554. k_ESteamUserStatTypeGROUPACHIEVEMENTS = 5,
  1555. // max, for sanity checks
  1556. k_ESteamUserStatTypeMAX
  1557. }
  1558. //-----------------------------------------------------------------------------
  1559. // Purpose: Chat Entry Types (previously was only friend-to-friend message types)
  1560. //-----------------------------------------------------------------------------
  1561. public enum EChatEntryType : int {
  1562. k_EChatEntryTypeInvalid = 0,
  1563. k_EChatEntryTypeChatMsg = 1, // Normal text message from another user
  1564. k_EChatEntryTypeTyping = 2, // Another user is typing (not used in multi-user chat)
  1565. k_EChatEntryTypeInviteGame = 3, // Invite from other user into that users current game
  1566. k_EChatEntryTypeEmote = 4, // text emote message (deprecated, should be treated as ChatMsg)
  1567. //k_EChatEntryTypeLobbyGameStart = 5, // lobby game is starting (dead - listen for LobbyGameCreated_t callback instead)
  1568. k_EChatEntryTypeLeftConversation = 6, // user has left the conversation ( closed chat window )
  1569. // Above are previous FriendMsgType entries, now merged into more generic chat entry types
  1570. k_EChatEntryTypeEntered = 7, // user has entered the conversation (used in multi-user chat and group chat)
  1571. k_EChatEntryTypeWasKicked = 8, // user was kicked (data: 64-bit steamid of actor performing the kick)
  1572. k_EChatEntryTypeWasBanned = 9, // user was banned (data: 64-bit steamid of actor performing the ban)
  1573. k_EChatEntryTypeDisconnected = 10, // user disconnected
  1574. k_EChatEntryTypeHistoricalChat = 11, // a chat message from user's chat history or offilne message
  1575. //k_EChatEntryTypeReserved1 = 12, // No longer used
  1576. //k_EChatEntryTypeReserved2 = 13, // No longer used
  1577. k_EChatEntryTypeLinkBlocked = 14, // a link was removed by the chat filter.
  1578. }
  1579. //-----------------------------------------------------------------------------
  1580. // Purpose: Chat Room Enter Responses
  1581. //-----------------------------------------------------------------------------
  1582. public enum EChatRoomEnterResponse : int {
  1583. k_EChatRoomEnterResponseSuccess = 1, // Success
  1584. k_EChatRoomEnterResponseDoesntExist = 2, // Chat doesn't exist (probably closed)
  1585. k_EChatRoomEnterResponseNotAllowed = 3, // General Denied - You don't have the permissions needed to join the chat
  1586. k_EChatRoomEnterResponseFull = 4, // Chat room has reached its maximum size
  1587. k_EChatRoomEnterResponseError = 5, // Unexpected Error
  1588. k_EChatRoomEnterResponseBanned = 6, // You are banned from this chat room and may not join
  1589. k_EChatRoomEnterResponseLimited = 7, // Joining this chat is not allowed because you are a limited user (no value on account)
  1590. k_EChatRoomEnterResponseClanDisabled = 8, // Attempt to join a clan chat when the clan is locked or disabled
  1591. k_EChatRoomEnterResponseCommunityBan = 9, // Attempt to join a chat when the user has a community lock on their account
  1592. k_EChatRoomEnterResponseMemberBlockedYou = 10, // Join failed - some member in the chat has blocked you from joining
  1593. k_EChatRoomEnterResponseYouBlockedMember = 11, // Join failed - you have blocked some member already in the chat
  1594. // k_EChatRoomEnterResponseNoRankingDataLobby = 12, // No longer used
  1595. // k_EChatRoomEnterResponseNoRankingDataUser = 13, // No longer used
  1596. // k_EChatRoomEnterResponseRankOutOfRange = 14, // No longer used
  1597. k_EChatRoomEnterResponseRatelimitExceeded = 15, // Join failed - to many join attempts in a very short period of time
  1598. }
  1599. // Special flags for Chat accounts - they go in the top 8 bits
  1600. // of the steam ID's "instance", leaving 12 for the actual instances
  1601. [Flags]
  1602. public enum EChatSteamIDInstanceFlags : int {
  1603. k_EChatAccountInstanceMask = 0x00000FFF, // top 8 bits are flags
  1604. k_EChatInstanceFlagClan = ( Constants.k_unSteamAccountInstanceMask + 1 ) >> 1, // top bit
  1605. k_EChatInstanceFlagLobby = ( Constants.k_unSteamAccountInstanceMask + 1 ) >> 2, // next one down, etc
  1606. k_EChatInstanceFlagMMSLobby = ( Constants.k_unSteamAccountInstanceMask + 1 ) >> 3, // next one down, etc
  1607. // Max of 8 flags
  1608. }
  1609. //-----------------------------------------------------------------------------
  1610. // Purpose: Marketing message flags that change how a client should handle them
  1611. //-----------------------------------------------------------------------------
  1612. [Flags]
  1613. public enum EMarketingMessageFlags : int {
  1614. k_EMarketingMessageFlagsNone = 0,
  1615. k_EMarketingMessageFlagsHighPriority = 1 << 0,
  1616. k_EMarketingMessageFlagsPlatformWindows = 1 << 1,
  1617. k_EMarketingMessageFlagsPlatformMac = 1 << 2,
  1618. k_EMarketingMessageFlagsPlatformLinux = 1 << 3,
  1619. //aggregate flags
  1620. k_EMarketingMessageFlagsPlatformRestrictions =
  1621. k_EMarketingMessageFlagsPlatformWindows |
  1622. k_EMarketingMessageFlagsPlatformMac |
  1623. k_EMarketingMessageFlagsPlatformLinux,
  1624. }
  1625. //-----------------------------------------------------------------------------
  1626. // Purpose: Possible positions to tell the overlay to show notifications in
  1627. //-----------------------------------------------------------------------------
  1628. public enum ENotificationPosition : int {
  1629. k_EPositionTopLeft = 0,
  1630. k_EPositionTopRight = 1,
  1631. k_EPositionBottomLeft = 2,
  1632. k_EPositionBottomRight = 3,
  1633. }
  1634. //-----------------------------------------------------------------------------
  1635. // Purpose: Broadcast upload result details
  1636. //-----------------------------------------------------------------------------
  1637. public enum EBroadcastUploadResult : int {
  1638. k_EBroadcastUploadResultNone = 0, // broadcast state unknown
  1639. k_EBroadcastUploadResultOK = 1, // broadcast was good, no problems
  1640. k_EBroadcastUploadResultInitFailed = 2, // broadcast init failed
  1641. k_EBroadcastUploadResultFrameFailed = 3, // broadcast frame upload failed
  1642. k_EBroadcastUploadResultTimeout = 4, // broadcast upload timed out
  1643. k_EBroadcastUploadResultBandwidthExceeded = 5, // broadcast send too much data
  1644. k_EBroadcastUploadResultLowFPS = 6, // broadcast FPS too low
  1645. k_EBroadcastUploadResultMissingKeyFrames = 7, // broadcast sending not enough key frames
  1646. k_EBroadcastUploadResultNoConnection = 8, // broadcast client failed to connect to relay
  1647. k_EBroadcastUploadResultRelayFailed = 9, // relay dropped the upload
  1648. k_EBroadcastUploadResultSettingsChanged = 10, // the client changed broadcast settings
  1649. k_EBroadcastUploadResultMissingAudio = 11, // client failed to send audio data
  1650. k_EBroadcastUploadResultTooFarBehind = 12, // clients was too slow uploading
  1651. k_EBroadcastUploadResultTranscodeBehind = 13, // server failed to keep up with transcode
  1652. k_EBroadcastUploadResultNotAllowedToPlay = 14, // Broadcast does not have permissions to play game
  1653. k_EBroadcastUploadResultBusy = 15, // RTMP host to busy to take new broadcast stream, choose another
  1654. k_EBroadcastUploadResultBanned = 16, // Account banned from community broadcast
  1655. k_EBroadcastUploadResultAlreadyActive = 17, // We already already have an stream running.
  1656. k_EBroadcastUploadResultForcedOff = 18, // We explicitly shutting down a broadcast
  1657. k_EBroadcastUploadResultAudioBehind = 19, // Audio stream was too far behind video
  1658. k_EBroadcastUploadResultShutdown = 20, // Broadcast Server was shut down
  1659. k_EBroadcastUploadResultDisconnect = 21, // broadcast uploader TCP disconnected
  1660. k_EBroadcastUploadResultVideoInitFailed = 22, // invalid video settings
  1661. k_EBroadcastUploadResultAudioInitFailed = 23, // invalid audio settings
  1662. }
  1663. //-----------------------------------------------------------------------------
  1664. // Purpose: codes for well defined launch options
  1665. //-----------------------------------------------------------------------------
  1666. public enum ELaunchOptionType : int {
  1667. k_ELaunchOptionType_None = 0, // unknown what launch option does
  1668. k_ELaunchOptionType_Default = 1, // runs the game, app, whatever in default mode
  1669. k_ELaunchOptionType_SafeMode = 2, // runs the game in safe mode
  1670. k_ELaunchOptionType_Multiplayer = 3, // runs the game in multiplayer mode
  1671. k_ELaunchOptionType_Config = 4, // runs config tool for this game
  1672. k_ELaunchOptionType_OpenVR = 5, // runs game in VR mode using OpenVR
  1673. k_ELaunchOptionType_Server = 6, // runs dedicated server for this game
  1674. k_ELaunchOptionType_Editor = 7, // runs game editor
  1675. k_ELaunchOptionType_Manual = 8, // shows game manual
  1676. k_ELaunchOptionType_Benchmark = 9, // runs game benchmark
  1677. k_ELaunchOptionType_Option1 = 10, // generic run option, uses description field for game name
  1678. k_ELaunchOptionType_Option2 = 11, // generic run option, uses description field for game name
  1679. k_ELaunchOptionType_Option3 = 12, // generic run option, uses description field for game name
  1680. k_ELaunchOptionType_OculusVR = 13, // runs game in VR mode using the Oculus SDK
  1681. k_ELaunchOptionType_OpenVROverlay = 14, // runs an OpenVR dashboard overlay
  1682. k_ELaunchOptionType_OSVR = 15, // runs game in VR mode using the OSVR SDK
  1683. k_ELaunchOptionType_Dialog = 1000, // show launch options dialog
  1684. }
  1685. //-----------------------------------------------------------------------------
  1686. // Purpose: code points for VR HMD vendors and models
  1687. // WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN A DATABASE
  1688. //-----------------------------------------------------------------------------
  1689. public enum EVRHMDType : int {
  1690. k_eEVRHMDType_None = -1, // unknown vendor and model
  1691. k_eEVRHMDType_Unknown = 0, // unknown vendor and model
  1692. k_eEVRHMDType_HTC_Dev = 1, // original HTC dev kits
  1693. k_eEVRHMDType_HTC_VivePre = 2, // htc vive pre
  1694. k_eEVRHMDType_HTC_Vive = 3, // htc vive consumer release
  1695. k_eEVRHMDType_HTC_VivePro = 4, // htc vive pro release
  1696. k_eEVRHMDType_HTC_ViveCosmos = 5, // HTC Vive Cosmos
  1697. k_eEVRHMDType_HTC_Unknown = 20, // unknown htc hmd
  1698. k_eEVRHMDType_Oculus_DK1 = 21, // Oculus DK1
  1699. k_eEVRHMDType_Oculus_DK2 = 22, // Oculus DK2
  1700. k_eEVRHMDType_Oculus_Rift = 23, // Oculus Rift
  1701. k_eEVRHMDType_Oculus_RiftS = 24, // Oculus Rift S
  1702. k_eEVRHMDType_Oculus_Unknown = 40, // // Oculus unknown HMD
  1703. k_eEVRHMDType_Acer_Unknown = 50, // Acer unknown HMD
  1704. k_eEVRHMDType_Acer_WindowsMR = 51, // Acer QHMD Windows MR headset
  1705. k_eEVRHMDType_Dell_Unknown = 60, // Dell unknown HMD
  1706. k_eEVRHMDType_Dell_Visor = 61, // Dell Visor Windows MR headset
  1707. k_eEVRHMDType_Lenovo_Unknown = 70, // Lenovo unknown HMD
  1708. k_eEVRHMDType_Lenovo_Explorer = 71, // Lenovo Explorer Windows MR headset
  1709. k_eEVRHMDType_HP_Unknown = 80, // HP unknown HMD
  1710. k_eEVRHMDType_HP_WindowsMR = 81, // HP Windows MR headset
  1711. k_eEVRHMDType_Samsung_Unknown = 90, // Samsung unknown HMD
  1712. k_eEVRHMDType_Samsung_Odyssey = 91, // Samsung Odyssey Windows MR headset
  1713. k_eEVRHMDType_Unannounced_Unknown = 100, // Unannounced unknown HMD
  1714. k_eEVRHMDType_Unannounced_WindowsMR = 101, // Unannounced Windows MR headset
  1715. k_eEVRHMDType_vridge = 110, // VRIDGE tool
  1716. k_eEVRHMDType_Huawei_Unknown = 120, // Huawei unknown HMD
  1717. k_eEVRHMDType_Huawei_VR2 = 121, // Huawei VR2 3DOF headset
  1718. k_eEVRHMDType_Huawei_EndOfRange = 129, // end of Huawei HMD range
  1719. k_eEVRHmdType_Valve_Unknown = 130, // Valve Unknown HMD
  1720. k_eEVRHmdType_Valve_Index = 131, // Valve Index HMD
  1721. }
  1722. //-----------------------------------------------------------------------------
  1723. // Purpose: Reasons a user may not use the Community Market.
  1724. // Used in MarketEligibilityResponse_t.
  1725. //-----------------------------------------------------------------------------
  1726. [Flags]
  1727. public enum EMarketNotAllowedReasonFlags : int {
  1728. k_EMarketNotAllowedReason_None = 0,
  1729. // A back-end call failed or something that might work again on retry
  1730. k_EMarketNotAllowedReason_TemporaryFailure = (1 << 0),
  1731. // Disabled account
  1732. k_EMarketNotAllowedReason_AccountDisabled = (1 << 1),
  1733. // Locked account
  1734. k_EMarketNotAllowedReason_AccountLockedDown = (1 << 2),
  1735. // Limited account (no purchases)
  1736. k_EMarketNotAllowedReason_AccountLimited = (1 << 3),
  1737. // The account is banned from trading items
  1738. k_EMarketNotAllowedReason_TradeBanned = (1 << 4),
  1739. // Wallet funds aren't tradable because the user has had no purchase
  1740. // activity in the last year or has had no purchases prior to last month
  1741. k_EMarketNotAllowedReason_AccountNotTrusted = (1 << 5),
  1742. // The user doesn't have Steam Guard enabled
  1743. k_EMarketNotAllowedReason_SteamGuardNotEnabled = (1 << 6),
  1744. // The user has Steam Guard, but it hasn't been enabled for the required
  1745. // number of days
  1746. k_EMarketNotAllowedReason_SteamGuardOnlyRecentlyEnabled = (1 << 7),
  1747. // The user has recently forgotten their password and reset it
  1748. k_EMarketNotAllowedReason_RecentPasswordReset = (1 << 8),
  1749. // The user has recently funded his or her wallet with a new payment method
  1750. k_EMarketNotAllowedReason_NewPaymentMethod = (1 << 9),
  1751. // An invalid cookie was sent by the user
  1752. k_EMarketNotAllowedReason_InvalidCookie = (1 << 10),
  1753. // The user has Steam Guard, but is using a new computer or web browser
  1754. k_EMarketNotAllowedReason_UsingNewDevice = (1 << 11),
  1755. // The user has recently refunded a store purchase by his or herself
  1756. k_EMarketNotAllowedReason_RecentSelfRefund = (1 << 12),
  1757. // The user has recently funded his or her wallet with a new payment method that cannot be verified
  1758. k_EMarketNotAllowedReason_NewPaymentMethodCannotBeVerified = (1 << 13),
  1759. // Not only is the account not trusted, but they have no recent purchases at all
  1760. k_EMarketNotAllowedReason_NoRecentPurchases = (1 << 14),
  1761. // User accepted a wallet gift that was recently purchased
  1762. k_EMarketNotAllowedReason_AcceptedWalletGift = (1 << 15),
  1763. }
  1764. //
  1765. // describes XP / progress restrictions to apply for games with duration control /
  1766. // anti-indulgence enabled for minor Steam China users.
  1767. //
  1768. public enum EDurationControlProgress : int {
  1769. k_EDurationControlProgress_Full, // Full progress
  1770. k_EDurationControlProgress_Half, // XP or persistent rewards should be halved
  1771. k_EDurationControlProgress_None, // XP or persistent rewards should be stopped
  1772. }
  1773. //
  1774. // describes which notification timer has expired, for steam china duration control feature
  1775. //
  1776. public enum EDurationControlNotification : int {
  1777. k_EDurationControlNotification_None, // just informing you about progress, no notification to show
  1778. k_EDurationControlNotification_1Hour, // "you've been playing for an hour"
  1779. k_EDurationControlNotification_3Hours, // "you've been playing for 3 hours; take a break"
  1780. k_EDurationControlNotification_HalfProgress, // "your XP / progress is half normal"
  1781. k_EDurationControlNotification_NoProgress, // "your XP / progress is zero"
  1782. }
  1783. public enum EGameSearchErrorCode_t : int {
  1784. k_EGameSearchErrorCode_OK = 1,
  1785. k_EGameSearchErrorCode_Failed_Search_Already_In_Progress = 2,
  1786. k_EGameSearchErrorCode_Failed_No_Search_In_Progress = 3,
  1787. k_EGameSearchErrorCode_Failed_Not_Lobby_Leader = 4, // if not the lobby leader can not call SearchForGameWithLobby
  1788. k_EGameSearchErrorCode_Failed_No_Host_Available = 5, // no host is available that matches those search params
  1789. k_EGameSearchErrorCode_Failed_Search_Params_Invalid = 6, // search params are invalid
  1790. k_EGameSearchErrorCode_Failed_Offline = 7, // offline, could not communicate with server
  1791. k_EGameSearchErrorCode_Failed_NotAuthorized = 8, // either the user or the application does not have priveledges to do this
  1792. k_EGameSearchErrorCode_Failed_Unknown_Error = 9, // unknown error
  1793. }
  1794. public enum EPlayerResult_t : int {
  1795. k_EPlayerResultFailedToConnect = 1, // failed to connect after confirming
  1796. k_EPlayerResultAbandoned = 2, // quit game without completing it
  1797. k_EPlayerResultKicked = 3, // kicked by other players/moderator/server rules
  1798. k_EPlayerResultIncomplete = 4, // player stayed to end but game did not conclude successfully ( nofault to player )
  1799. k_EPlayerResultCompleted = 5, // player completed game
  1800. }
  1801. // HTTP related types
  1802. // This enum is used in client API methods, do not re-number existing values.
  1803. public enum EHTTPMethod : int {
  1804. k_EHTTPMethodInvalid = 0,
  1805. k_EHTTPMethodGET,
  1806. k_EHTTPMethodHEAD,
  1807. k_EHTTPMethodPOST,
  1808. k_EHTTPMethodPUT,
  1809. k_EHTTPMethodDELETE,
  1810. k_EHTTPMethodOPTIONS,
  1811. k_EHTTPMethodPATCH,
  1812. // The remaining HTTP methods are not yet supported, per rfc2616 section 5.1.1 only GET and HEAD are required for
  1813. // a compliant general purpose server. We'll likely add more as we find uses for them.
  1814. // k_EHTTPMethodTRACE,
  1815. // k_EHTTPMethodCONNECT
  1816. }
  1817. // HTTP Status codes that the server can send in response to a request, see rfc2616 section 10.3 for descriptions
  1818. // of each of these.
  1819. public enum EHTTPStatusCode : int {
  1820. // Invalid status code (this isn't defined in HTTP, used to indicate unset in our code)
  1821. k_EHTTPStatusCodeInvalid = 0,
  1822. // Informational codes
  1823. k_EHTTPStatusCode100Continue = 100,
  1824. k_EHTTPStatusCode101SwitchingProtocols = 101,
  1825. // Success codes
  1826. k_EHTTPStatusCode200OK = 200,
  1827. k_EHTTPStatusCode201Created = 201,
  1828. k_EHTTPStatusCode202Accepted = 202,
  1829. k_EHTTPStatusCode203NonAuthoritative = 203,
  1830. k_EHTTPStatusCode204NoContent = 204,
  1831. k_EHTTPStatusCode205ResetContent = 205,
  1832. k_EHTTPStatusCode206PartialContent = 206,
  1833. // Redirection codes
  1834. k_EHTTPStatusCode300MultipleChoices = 300,
  1835. k_EHTTPStatusCode301MovedPermanently = 301,
  1836. k_EHTTPStatusCode302Found = 302,
  1837. k_EHTTPStatusCode303SeeOther = 303,
  1838. k_EHTTPStatusCode304NotModified = 304,
  1839. k_EHTTPStatusCode305UseProxy = 305,
  1840. //k_EHTTPStatusCode306Unused = 306, (used in old HTTP spec, now unused in 1.1)
  1841. k_EHTTPStatusCode307TemporaryRedirect = 307,
  1842. // Error codes
  1843. k_EHTTPStatusCode400BadRequest = 400,
  1844. k_EHTTPStatusCode401Unauthorized = 401, // You probably want 403 or something else. 401 implies you're sending a WWW-Authenticate header and the client can sent an Authorization header in response.
  1845. k_EHTTPStatusCode402PaymentRequired = 402, // This is reserved for future HTTP specs, not really supported by clients
  1846. k_EHTTPStatusCode403Forbidden = 403,
  1847. k_EHTTPStatusCode404NotFound = 404,
  1848. k_EHTTPStatusCode405MethodNotAllowed = 405,
  1849. k_EHTTPStatusCode406NotAcceptable = 406,
  1850. k_EHTTPStatusCode407ProxyAuthRequired = 407,
  1851. k_EHTTPStatusCode408RequestTimeout = 408,
  1852. k_EHTTPStatusCode409Conflict = 409,
  1853. k_EHTTPStatusCode410Gone = 410,
  1854. k_EHTTPStatusCode411LengthRequired = 411,
  1855. k_EHTTPStatusCode412PreconditionFailed = 412,
  1856. k_EHTTPStatusCode413RequestEntityTooLarge = 413,
  1857. k_EHTTPStatusCode414RequestURITooLong = 414,
  1858. k_EHTTPStatusCode415UnsupportedMediaType = 415,
  1859. k_EHTTPStatusCode416RequestedRangeNotSatisfiable = 416,
  1860. k_EHTTPStatusCode417ExpectationFailed = 417,
  1861. k_EHTTPStatusCode4xxUnknown = 418, // 418 is reserved, so we'll use it to mean unknown
  1862. k_EHTTPStatusCode429TooManyRequests = 429,
  1863. // Server error codes
  1864. k_EHTTPStatusCode500InternalServerError = 500,
  1865. k_EHTTPStatusCode501NotImplemented = 501,
  1866. k_EHTTPStatusCode502BadGateway = 502,
  1867. k_EHTTPStatusCode503ServiceUnavailable = 503,
  1868. k_EHTTPStatusCode504GatewayTimeout = 504,
  1869. k_EHTTPStatusCode505HTTPVersionNotSupported = 505,
  1870. k_EHTTPStatusCode5xxUnknown = 599,
  1871. }
  1872. // Steam universes. Each universe is a self-contained Steam instance.
  1873. public enum EUniverse : int {
  1874. k_EUniverseInvalid = 0,
  1875. k_EUniversePublic = 1,
  1876. k_EUniverseBeta = 2,
  1877. k_EUniverseInternal = 3,
  1878. k_EUniverseDev = 4,
  1879. // k_EUniverseRC = 5, // no such universe anymore
  1880. k_EUniverseMax
  1881. }
  1882. }
  1883. #endif // !DISABLESTEAMWORKS