File: nm_linux_a.c

package info (click to toggle)
waba 1.5-3
  • links: PTS
  • area: contrib
  • in suites: woody
  • size: 1,996 kB
  • ctags: 3,231
  • sloc: ansic: 17,303; java: 4,436; sh: 2,345; makefile: 417
file content (85 lines) | stat: -rw-r--r-- 1,883 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/*
Copyright (C) 1998, 1999, 2000 Wabasoft

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later version. 

This program 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 General Public License for more details. 

You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. 
*/

/*
Copyright (C) 2000, 2001 SMARTDATA, http://www.smartdata.ch/

More help for porting is include in the file nmport_a.c. Please read it before
porting or modify this port.

Linux port.
===========

*/

/* all the needed include */
#include "../waba.h"

#ifndef LINUX
# error You must define the LINUX symbol as gcc parameter (-DLINUX=1)
#endif

#ifndef FASTANDBIG

uint32 getUInt32(uchar *b)
{
  return (uint32)( (uint32)((b)[0])<<24 |
		   (uint32)((b)[1])<<16 |
		   (uint32)((b)[2])<<8  |
		   (uint32)((b)[3]) );
}

uint16 getUInt16(uchar *b)
{
  return (uint16)(((b)[0]<<8)|(b)[1]);
}

int32 getInt32(uchar *b)
{
  return (int32)( (uint32)((b)[0])<<24 |
		  (uint32)((b)[1])<<16 |
		  (uint32)((b)[2])<<8  |
		  (uint32)((b)[3]) );
}

int16 getInt16(uchar *b)
{
  return (int16)(((b)[0]<<8)|(b)[1]);
}

#endif  /* ifndef FASTANDBIG */

float32 getFloat32(uchar *buf) {
    uint32 i;
    float32 f;

    // we need to make sure we're aligned before casting
    i =
	((uint32)buf[0] << 24) |
	((uint32)buf[1] << 16) |
	((uint32)buf[2] << 8 ) |
	(uint32)buf[3];
    f = *((float32 *)&i);

    return f;

}

/*
   Local Variables:
   c-file-style: "smartdata"
   End:
*/