Mosa.HardwareSystem.IOPortResources.ClaimResources C# (CSharp) Method

ClaimResources() public method

Claims the resources.
public ClaimResources ( HardwareResources hardwareResources ) : bool
hardwareResources HardwareResources The hardware resources.
return bool
        public bool ClaimResources(HardwareResources hardwareResources)
        {
            spinLock.Enter();

            for (byte r = 0; r < hardwareResources.IOPointRegionCount - 1; r++)
            {
                var region = hardwareResources.GetIOPortRegion(r);

                for (int p = 0; p < region.Size; p++)
                {
                    if (portUsed[region.BaseIOPort + p])
                        return false;
                }
            }

            for (byte r = 0; r < hardwareResources.IOPointRegionCount; r++)
            {
                var region = hardwareResources.GetIOPortRegion(r);

                for (int p = 0; p < region.Size; p++)
                {
                    portUsed[region.BaseIOPort + p] = true;
                }
            }

            spinLock.Exit();

            return true;
        }