Added to library function to check endianess
authorSimone Piccardi <piccardi@gnulinux.it>
Sat, 16 Aug 2003 18:30:21 +0000 (18:30 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Sat, 16 Aug 2003 18:30:21 +0000 (18:30 +0000)
sources/Gapil.h
sources/Makefile
sources/endian.c

index 0db517d6a712fc4fd1207c067bb5223a88fa016e..c6cbfea4d91b4294968e2f9a143cbc8caa816f05 100644 (file)
@@ -23,7 +23,7 @@
  *
  * Author: S. Piccardi
  *
- * $Id: Gapil.h,v 1.11 2003/05/06 11:29:16 piccardi Exp $
+ * $Id: Gapil.h,v 1.12 2003/08/16 18:30:21 piccardi Exp $
  *
  *****************************************************************************/
 #include <sys/sem.h>                           /* IPC semaphore declarations */
@@ -122,3 +122,7 @@ void * CreateShm(char * shm_name, off_t shm_size, int perm, int fill);
 void * FindShm(char * shm_name, off_t shm_size);
 /* Function RemoveShm: remove a POSIX shared memory */
 int RemoveShm(char * shm_name);
+/*
+ * General purpose functions. See corresponding .c
+ */
+int endian(void);
index 39db81d60da9b362a0967be647427f12100f95c3..82ae8e4c550b294524b136ccd1e4be1d0e4e23a9 100644 (file)
@@ -8,7 +8,8 @@ CFLAGJ= -L./ -lgapil
 
 LIB = libgapil.so
 
-OBJ = FullRead.o FullWrite.o SigHand.o Mutex.o SharedMem.o LockFile.o DirScan.o
+OBJ = FullRead.o FullWrite.o SigHand.o Mutex.o SharedMem.o LockFile.o \
+      DirScan.o endian.o
 
 FINAL = forktest errcode echo echod daytimed iterdaytimed daytime testfopen \
        testren fortune fortuned mqfortune mqfortuned flock myls dirmonitor \
index 0505b365ccfeeb00d5546bbe7708fcc91ec17805..d375d97d334b15c9912a6bc9cef41dd59f7d5b11 100644 (file)
  * Author: S. Piccardi
  * May. 2003
  *
- * $Id: endian.c,v 1.4 2003/08/16 18:22:25 piccardi Exp $
+ * $Id: endian.c,v 1.5 2003/08/16 18:30:21 piccardi Exp $
  *
  ***************************************************************/
-#include <stdio.h>
 
-int main(int argc, char *argv[])
+int endian(void)
 {
 /*
  * Variables definition
@@ -36,11 +35,8 @@ int main(int argc, char *argv[])
     short magic, test;
     char * ptr;
    
-    magic = 0xABCD;            /* endianess magic number */
-    ptr = (char *) &magic;
-    printf("Upper = %x\n", ptr[1]);
-    printf("Lower = %x\n", ptr[0]);
-    test = (ptr[1]<<8) + (ptr[0]&0xFF);
-    printf("magic=%x, test=%x\n", magic, test); 
-    return (magic == test);
+    magic = 0xABCD;                     /* endianess magic number */
+    ptr = (char *) &magic;              
+    test = (ptr[1]<<8) + (ptr[0]&0xFF); /* build value byte by byte */
+    return (magic == test);             /* if the same is little endian */ 
 }