CnC_Remastered_Collection

Command and Conquer: Red Alert
Log | Files | Refs | README | LICENSE

SteamEnums.cs (100093B)


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