IGSC_ERRORS(3)

πŸ“¦
version 1.3.1 Β· 3 versions
, in epel 10

πŸ’– NAME πŸ’–

IGSC_ERRORS β€” yes bestie, that's literally the name. This page lives in the Library Functions Manual, and it's the whole IGSC error-code situation: return codes, structs, macros, all the good stuff. No cap. ✨

✨ SYNOPSIS ✨

Okay so the synopsis is giving organized little sections. Here's the map, bestie:

πŸ“š Topics

  • Firmware_status

🧱 Data Structures

  • struct igsc_hw_config
  • struct igsc_subsystem_ids
  • struct igsc_device_handle

🧡 Macros

#define IGSC_HW_CONFIG_BLOB_SIZE   48
#define IGSC_MAX_IMAGE_SIZE   (8*1024*1024) /* 8M */

IGSC_MAX_IMAGE_SIZE is the Maximum firmware image size. β€” 8M of firmware realness, periodt.

🌈 IGSC_ERRORS 🌈

The Library return codes, all together now β€” numeric order, every single one:

#define IGSC_ERROR_BASE   0x0000U
#define IGSC_SUCCESS   (IGSC_ERROR_BASE + 0)
#define IGSC_ERROR_INTERNAL   (IGSC_ERROR_BASE + 1)
#define IGSC_ERROR_NOMEM   (IGSC_ERROR_BASE + 2)
#define IGSC_ERROR_INVALID_PARAMETER   (IGSC_ERROR_BASE + 3)
#define IGSC_ERROR_DEVICE_NOT_FOUND   (IGSC_ERROR_BASE + 4)
#define IGSC_ERROR_BAD_IMAGE   (IGSC_ERROR_BASE + 5)
#define IGSC_ERROR_PROTOCOL   (IGSC_ERROR_BASE + 6)
#define IGSC_ERROR_BUFFER_TOO_SMALL   (IGSC_ERROR_BASE + 7)
#define IGSC_ERROR_INVALID_STATE   (IGSC_ERROR_BASE + 8)
#define IGSC_ERROR_NOT_SUPPORTED   (IGSC_ERROR_BASE + 9)
#define IGSC_ERROR_INCOMPATIBLE   (IGSC_ERROR_BASE + 10)
#define IGSC_ERROR_TIMEOUT   (IGSC_ERROR_BASE + 11)
#define IGSC_ERROR_PERMISSION_DENIED   (IGSC_ERROR_BASE + 12)
#define IGSC_ERROR_BUSY   (IGSC_ERROR_BASE + 13)

πŸ” Detailed Description πŸ”

Yep, this section is here. It's got no extra text in the source, so no invented lore, bestie. Moving on. πŸ¦‹

🧸 Data Structure Documentation 🧸

These are the structs, with every field and line number intact. Obsessed with the organization. πŸ’…

struct igsc_hw_config

This is the structure to store hw configuration. Cute little hardware-config holder.

Parameters

  • format_version β€” version of the hw config
  • blob β€” hardware configuration data

Definition at line 349 of file igsc_lib.h.

Data Fields

uint8_t blob[IGSC_HW_CONFIG_BLOB_SIZE]

uint32_t format_version

struct igsc_subsystem_ids

This is the structure to store device subsystem ids. Subsystem-id realness.

Parameters

  • ssvid β€” subsystem vendor id
  • ssdid β€” subsystem device id

Definition at line 359 of file igsc_lib.h.

Data Fields

uint16_t ssdid

uint16_t ssvid

struct igsc_device_handle

Structure to store GSC FU device data. Main-character device-data energy.

Definition at line 375 of file igsc_lib.h.

Data Fields

  • struct igsc_lib_ctx * ctx β€” Internal library context

πŸ”₯ Macro Definition Documentation πŸ”₯

Okay bestie, here's the macro lore in the exact alphabetical order the page gives. Every line number is here too, no skips.

#define IGSC_ERROR_BAD_IMAGE (IGSC_ERROR_BASE + 5)

Provided image has wrong format. Definition at line 326 of file igsc_lib.h.

#define IGSC_ERROR_BASE 0x0000U

Error Base. Definition at line 320 of file igsc_lib.h.

#define IGSC_ERROR_BUFFER_TOO_SMALL (IGSC_ERROR_BASE + 7)

Provided buffer is too small. Definition at line 328 of file igsc_lib.h.

#define IGSC_ERROR_BUSY (IGSC_ERROR_BASE + 13)

Device is currently busy, try again later. Definition at line 334 of file igsc_lib.h.

#define IGSC_ERROR_DEVICE_NOT_FOUND (IGSC_ERROR_BASE + 4)

Requested device was not found. Definition at line 325 of file igsc_lib.h.

#define IGSC_ERROR_INCOMPATIBLE (IGSC_ERROR_BASE + 10)

Incompatible request. Definition at line 331 of file igsc_lib.h.

#define IGSC_ERROR_INTERNAL (IGSC_ERROR_BASE + 1)

Internal Error. Definition at line 322 of file igsc_lib.h.

#define IGSC_ERROR_INVALID_PARAMETER (IGSC_ERROR_BASE + 3)

Invalid parameter was provided. Definition at line 324 of file igsc_lib.h.

#define IGSC_ERROR_INVALID_STATE (IGSC_ERROR_BASE + 8)

Invalid library internal state. Definition at line 329 of file igsc_lib.h.

#define IGSC_ERROR_NOMEM (IGSC_ERROR_BASE + 2)

Memory Allocation Failed. Definition at line 323 of file igsc_lib.h.

#define IGSC_ERROR_NOT_SUPPORTED (IGSC_ERROR_BASE + 9)

Unsupported request. Definition at line 330 of file igsc_lib.h.

#define IGSC_ERROR_PERMISSION_DENIED (IGSC_ERROR_BASE + 12)

The process doesn't have access rights. Definition at line 333 of file igsc_lib.h.

#define IGSC_ERROR_PROTOCOL (IGSC_ERROR_BASE + 6)

Error in the update protocol. Definition at line 327 of file igsc_lib.h.

#define IGSC_ERROR_TIMEOUT (IGSC_ERROR_BASE + 11)

The operation has timed out. Definition at line 332 of file igsc_lib.h.

#define IGSC_HW_CONFIG_BLOB_SIZE 48

Hardware configuration blob size. Definition at line 342 of file igsc_lib.h.

#define IGSC_MAX_IMAGE_SIZE (8*1024*1024) /* 8M */

Maximum firmware image size. Definition at line 368 of file igsc_lib.h.

#define IGSC_SUCCESS (IGSC_ERROR_BASE + 0)

Success. Definition at line 321 of file igsc_lib.h.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for Intel Graphics System Controller Firmware Update Library from the source code. Automation ate, no crumbs. πŸ’…


Footer sign-off, bestie: source/version is Intel Graphics System Controller Firmware Update Library, manual is IGSC_ERRORS(3), and the date slot is whatever that auto-generated footer has β€” it isn't separately spelled out in this text, so I'm not inventing one. Mwah πŸ’‹πŸ«Ά

πŸ“¦ where this page comes from