-- This file is part of Bindings-bfd.---- Copyright (C) 2010 Michael Nelson---- Bindings-bfd is free software: you can redistribute it and/or modify-- it under the terms of the GNU Lesser General Public License as published by-- the Free Software Foundation, either version 3 of the License, or-- (at your option) any later version.---- Bindings-bfd is distributed in the hope that it will be useful,-- but WITHOUT ANY WARRANTY; without even the implied warranty of-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the-- GNU Lesser General Public License for more details.-- You should have received a copy of the GNU Lesser General Public License-- along with Bindings-bfd. If not, see <http://www.gnu.org/licenses/>.moduleBindings.Bfd.MiscwhereimportData.BitsimportForeign.CimportForeign.PtrtypeBool'=CUInttypeVma=InttypeVma'=CULongtypeSize=InttypeSize'=CULongtypeFile=PtrFile'dataFile'=File'typeFilePtr=InttypeFilePtr'=CULongalignToPower::Vma->Int->VmaalignToPowervmapower=(vma+mask).&.(complement$mask)wheremask=shiftL1power-1foreignimportccallunsafe"stdio.h fdopen"c_fdopen::CInt->CString->IOFileforeignimportccallunsafe"stdio.h fflush"c_fflush::File->IOCInt