• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef READ_DWORD
2 #define READ_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 
read_dword(int handle)21 static Dword read_dword(int handle)
22 {
23 	Byte val[4];
24 
25 	if(read(handle, (char *)val, 4) < 4)
26 		return (Dword) -1;
27 
28 	return byte2dword(val);
29 }
30 
UNUSED(static int32_t read_sdword (int handle))31 UNUSED(static int32_t read_sdword(int handle))
32 {
33 	Byte val[4];
34 
35 	if(read(handle, (char *)val, 4) < 4)
36 		return (int32_t) -1;
37 
38 	return byte2sdword(val);
39 }
40 
41 
42 struct SQwordRet { int64_t v; int err; };
UNUSED(static struct SQwordRet read_sqword (int handle))43 UNUSED(static struct SQwordRet read_sqword(int handle) )
44 {
45 	Byte val[8];
46 	struct SQwordRet ret;
47 
48 	if(read(handle, (char *)val, 8) < 8) {
49 		ret.err=-1;
50 	} else {
51 		ret.v = (int64_t) byte2qword(val);
52 		ret.err = 0;
53 	}
54 	return ret;
55 }
56 
57 #endif
58