コード例 #1
0
        private void poke(uint phys_address, ushort value)
        {
            uint  page     = (uint)(phys_address >> 12);
            uint  log_addr = (uint)(phys_address & 0x0FFF);
            mem_t memptr;

            if (page > 0xFF)
            {
                throw new InvalidOperationException($"poke: absolute memory address {phys_address:X6} too large.");
            }
            if ((memptr = mem[page]) == null)
            {
                trace.Verbose("poke: dynamically allocating page {0:X2}", page);
                memptr = mem[page] = new mem_t();
            }
            memptr.word[log_addr]              = value;
            memptr.was_written[log_addr / 32] |= 1u << ((int)log_addr % 32);
        }
コード例 #2
0
ファイル: H5Fpublic.cs プロジェクト: ywadea/HDF.PInvoke
 public extern static ssize_t get_free_sections
     (hid_t file_id, mem_t type, size_t nsects,
     sect_info_t[] sect_info);
コード例 #3
0
ファイル: H5Fpublic.cs プロジェクト: RBelokurov/HDF.PInvoke
 public extern static ssize_t get_free_sections
     (hid_t file_id, mem_t type, size_t nsects,
     [Out] sect_info_t[] sect_info);