h6. [[Hardware Abstraction Layer]] h6(. [[HAL entry points from RISC OS]] h6((. » HAL_ExtMachineID h2. HAL_ExtMachineID h5. (HAL entry #115) <pre> unsigned int HAL_ExtMachineID(void *buf) </pre> |_<. Entry | | |buf |Pointer to word-aligned buffer, or 0 to read required size | |_<. Exit | | |- |Returns size of extended ID, or if 0 extended ID not present/corrupt | |- |Extended ID copied to buffer, if applicable | h4. Use This is an internal call for OS use only, and its specifications are subject to change without warning. User software should use [[OS_ReadSysInfo 12]] (and friends) instead of calling this function directly. This call allows HALs to expose their machine ID in a way that is free of the constraints of [[HAL_MachineID]]. Callers should first call with a null buffer pointer to determine the required buffer size, and then call again with a valid pointer in order to read the ID. If a HAL provides an extended ID then there is no need for HAL_MachineID to be implemented. The kernel will instead use the extended ID to synthesise an old-style ID, for use with [[OS_ReadSysInfo 2]]/[[OS_ReadSysInfo 5]]. h4. See also * [[HAL_MachineID]] * [[OS_ReadSysInfo 12]]