1affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//===- SystemUtils.h ------------------------------------------------------===// 2affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// 3affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// The MCLinker Project 4affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// 5affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// This file is distributed under the University of Illinois Open Source 6affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// License. See LICENSE.TXT for details. 7affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// 8affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//===----------------------------------------------------------------------===// 987f34658dec9097d987d254a990ea7f311bfc95fStephen Hines#ifndef MCLD_SUPPORT_SYSTEMUTILS_H 1087f34658dec9097d987d254a990ea7f311bfc95fStephen Hines#define MCLD_SUPPORT_SYSTEMUTILS_H 11affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 12affc150dc44fab1911775a49636d0ce85333b634Zonr Chang#include <llvm/Support/DataTypes.h> 13affc150dc44fab1911775a49636d0ce85333b634Zonr Chang#include <mcld/Config/Config.h> 14f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines#include <string> 15affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 16affc150dc44fab1911775a49636d0ce85333b634Zonr Changnamespace mcld { 17affc150dc44fab1911775a49636d0ce85333b634Zonr Changnamespace sys { 18affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 19affc150dc44fab1911775a49636d0ce85333b634Zonr Changtypedef uint8_t* Address; 20affc150dc44fab1911775a49636d0ce85333b634Zonr Changtypedef off_t Offset; 21affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 22affc150dc44fab1911775a49636d0ce85333b634Zonr Chang/** \fn strerror 23affc150dc44fab1911775a49636d0ce85333b634Zonr Chang * \brief system error message 24affc150dc44fab1911775a49636d0ce85333b634Zonr Chang */ 25affc150dc44fab1911775a49636d0ce85333b634Zonr Changchar *strerror(int pErrnum); 26affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 27f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hinesstd::string getDefaultTargetTriple(); 28f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 29f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hinesint GetPageSize(); 30f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 31f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines/// GetRandomNum - generate a random number. 32f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hineslong GetRandomNum(); 33f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 34f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines/// SetRandomSeed - set the initial seed value for future calls to random(). 35f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hinesvoid SetRandomSeed(unsigned pSeed); 36f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 37affc150dc44fab1911775a49636d0ce85333b634Zonr Chang} // namespace of sys 38affc150dc44fab1911775a49636d0ce85333b634Zonr Chang} // namespace of mcld 39affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 40affc150dc44fab1911775a49636d0ce85333b634Zonr Chang#endif 41affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 42