コード例 #1
0
        public int sceKernelAllocateFplCB(FixedPool FixedPool, PspPointer* DataPointer, uint* Timeout)
        {
            FixedPool.Allocate(DataPointer, Timeout, HandleCallbacks: true);

            //Console.WriteLine("Allocated: Address: 0x{0:X}", DataPointer->Address);
            return 0;
        }
コード例 #2
0
        public int sceKernelAllocateFplCB(FixedPool FixedPool, PspPointer *DataPointer, uint *Timeout)
        {
            FixedPool.Allocate(DataPointer, Timeout, HandleCallbacks: true);

            //Console.WriteLine("Allocated: Address: 0x{0:X}", DataPointer->Address);
            return(0);
        }
コード例 #3
0
        public int sceKernelTryAllocateFpl(FixedPool FixedPool, PspPointer *DataPointer)
        {
            if (!FixedPool.TryAllocate(DataPointer))
            {
                throw new SceKernelException(SceKernelErrors.ERROR_KERNEL_NO_MEMORY);
            }

            return(0);
        }
コード例 #4
0
        public PoolId sceKernelCreateFpl(string Name, HleMemoryManager.Partitions PartitionId, int Attributes, int BlockSize, int NumberOfBlocks, void* Options)
        {
            if (Options != null) throw(new NotImplementedException());

            var FixedPool = new FixedPool()
            {
                MemoryManager = HleState.MemoryManager,
                Name = Name,
                PartitionId = PartitionId,
                Attributes = Attributes,
                BlockSize = BlockSize,
                NumberOfBlocks = NumberOfBlocks,
            };
            FixedPool.Init();

            return FixedPoolList.Create(FixedPool);
        }
コード例 #5
0
	// PROTECTED

	protected CommonNode( CommonNodeSettings commonSettings )
	{
		_commonSettings = commonSettings;

		Log.s_logLevel = _commonSettings.logLevel;

		// network time and _localIndex must be setup by child classes
		// these are just default invalid values.
		_networkTime = -1f;
		_localIndex = new NodeIndex();

		int bufferLength = GetMaxMessageLength();
		BitReader protoReader = new BitReader( new DataStream( bufferLength ) );
		BitWriter protoWriter = new BitWriter( new DataStream( bufferLength ) );
		_readerPool = new FixedPool<BitReader>( protoReader, BIT_POOL_CAPACITY );
		_writerPool = new FixedPool<BitWriter>( protoWriter, BIT_POOL_CAPACITY );
	}
コード例 #6
0
        public FixedPool sceKernelCreateFpl(string Name, MemoryPartitions PartitionId, FplAttributes Attributes,
                                            int BlockSize, int NumberOfBlocks, FplOptionsStruct *Options)
        {
            var FixedPool = new FixedPool(this)
            {
                MemoryManager  = MemoryManager,
                Name           = Name,
                PartitionId    = PartitionId,
                Attributes     = Attributes,
                BlockSize      = BlockSize,
                NumberOfBlocks = NumberOfBlocks,
            };

            if (Options != null)
            {
                FixedPool.Options = *Options;
            }
            FixedPool.Init();

            return(FixedPool);
        }
コード例 #7
0
        public PoolId sceKernelCreateFpl(string Name, HleMemoryManager.Partitions PartitionId, int Attributes, int BlockSize, int NumberOfBlocks, void *Options)
        {
            if (Options != null)
            {
                throw(new NotImplementedException());
            }

            var FixedPool = new FixedPool()
            {
                MemoryManager  = HleState.MemoryManager,
                Name           = Name,
                PartitionId    = PartitionId,
                Attributes     = Attributes,
                BlockSize      = BlockSize,
                NumberOfBlocks = NumberOfBlocks,
            };

            FixedPool.Init();

            return(FixedPoolList.Create(FixedPool));
        }
コード例 #8
0
 public int sceKernelDeleteFpl(FixedPool FixedPool)
 {
     FixedPool.RemoveUid(InjectContext);
     return(0);
 }
コード例 #9
0
 public int sceKernelFreeFpl(FixedPool FixedPool, PspPointer DataPointer)
 {
     //if (!FixedPoolList.Contains(FixedPool)) throw (new SceKernelException(SceKernelErrors.ERROR_KERNEL_ILLEGAL_MEMBLOCK));
     FixedPool.Free(DataPointer);
     return(0);
 }
コード例 #10
0
        public PoolId sceKernelCreateFpl(string Name, HleMemoryManager.Partitions PartitionId, FplAttributes Attributes, int BlockSize, int NumberOfBlocks, FplOptionsStruct* Options)
        {
            var FixedPool = new FixedPool(this)
            {
                MemoryManager = MemoryManager,
                Name = Name,
                PartitionId = PartitionId,
                Attributes = Attributes,
                BlockSize = BlockSize,
                NumberOfBlocks = NumberOfBlocks,
            };
            if (Options != null) FixedPool.Options = *Options;
            FixedPool.Init();

            return FixedPoolList.Create(FixedPool);
        }
コード例 #11
0
        public int sceKernelTryAllocateFpl(FixedPool FixedPool, PspPointer* DataPointer)
        {
            if (!FixedPool.TryAllocate(DataPointer))
            {
                throw (new SceKernelException(SceKernelErrors.ERROR_KERNEL_NO_MEMORY));
            }

            return 0;
        }
コード例 #12
0
 public int sceKernelFreeFpl(FixedPool FixedPool, PspPointer DataPointer)
 {
     //if (!FixedPoolList.Contains(FixedPool)) throw (new SceKernelException(SceKernelErrors.ERROR_KERNEL_ILLEGAL_MEMBLOCK));
     FixedPool.Free(DataPointer);
     return 0;
 }
コード例 #13
0
 public int sceKernelDeleteFpl(FixedPool FixedPool)
 {
     FixedPool.RemoveUid(InjectContext);
     return 0;
 }