1 #ifndef BYTE_DWORD 2 #define BYTE_DWORD 3 4 /* Copyright 2007,2009 Alain Knaff. 5 * This file is part of mtools. 6 * 7 * Mtools is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * Mtools is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with Mtools. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 byte2dword(Byte * val)21static Dword byte2dword(Byte* val) 22 { 23 Dword l; 24 l = (Dword)((val[0] << 24) + (val[1] << 16) + (val[2] << 8) + val[3]); 25 26 return l; 27 } 28 UNUSED(static Qword byte2qword (Byte * val))29UNUSED(static Qword byte2qword(Byte* val)) 30 { 31 Qword l; 32 l = val[0]; 33 l = (l << 8) | val[1]; 34 l = (l << 8) | val[2]; 35 l = (l << 8) | val[3]; 36 l = (l << 8) | val[4]; 37 l = (l << 8) | val[5]; 38 l = (l << 8) | val[6]; 39 l = (l << 8) | val[7]; 40 return l; 41 } 42 dword2byte(Dword parm,Byte * rval)43static void dword2byte(Dword parm, Byte* rval) 44 { 45 rval[0] = (parm >> 24) & 0xff; 46 rval[1] = (parm >> 16) & 0xff; 47 rval[2] = (parm >> 8) & 0xff; 48 rval[3] = parm & 0xff; 49 } 50 UNUSED(static void qword2byte (Qword parm,Byte * rval))51UNUSED(static void qword2byte(Qword parm, Byte* rval)) 52 { 53 rval[0] = (parm >> 56) & 0xff; 54 rval[1] = (parm >> 48) & 0xff; 55 rval[2] = (parm >> 40) & 0xff; 56 rval[3] = (parm >> 32) & 0xff; 57 rval[4] = (parm >> 24) & 0xff; 58 rval[5] = (parm >> 16) & 0xff; 59 rval[6] = (parm >> 8) & 0xff; 60 rval[7] = parm & 0xff; 61 } 62 63 #endif 64