00001 /* 00002 * The Mana World Server 00003 * Copyright 2007 The Mana World Development Team 00004 * 00005 * This file is part of The Mana World. 00006 * 00007 * The Mana World is free software; you can redistribute it and/or modify it 00008 * under the terms of the GNU General Public License as published by the Free 00009 * Software Foundation; either version 2 of the License, or any later version. 00010 * 00011 * The Mana World is distributed in the hope that it will be useful, but 00012 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 00013 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 00014 * more details. 00015 * 00016 * You should have received a copy of the GNU General Public License along 00017 * with The Mana World; if not, write to the Free Software Foundation, Inc., 00018 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 */ 00020 00021 #include "utils/processorutils.hpp" 00022 00023 bool utils::processor::isLittleEndian; 00024 00025 void utils::processor::init() 00026 { 00027 utils::processor::isLittleEndian = utils::processor::littleEndianCheck(); 00028 } 00029 00030 bool utils::processor::littleEndianCheck() 00031 { 00032 short int word = 0x0001; // Store 0x0001 in a 16-bit int. 00033 char *byte = (char *) &word; // 'byte' points to the first byte in word. 00034 return(byte[0]); // byte[0] will be 1 on little-endian processors. 00035 }