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//===----------------------------------------------------------------------===// 937b74a387bb3993387029859c2d9d051c41c724eStephen Hines#ifndef MCLD_SUPPORT_SYSTEMUTILS_H_ 1037b74a387bb3993387029859c2d9d051c41c724eStephen Hines#define MCLD_SUPPORT_SYSTEMUTILS_H_ 1137b74a387bb3993387029859c2d9d051c41c724eStephen Hines 1237b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/Config/Config.h" 13affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 14affc150dc44fab1911775a49636d0ce85333b634Zonr Chang#include <llvm/Support/DataTypes.h> 1537b74a387bb3993387029859c2d9d051c41c724eStephen Hines 16f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines#include <string> 17affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 18affc150dc44fab1911775a49636d0ce85333b634Zonr Changnamespace mcld { 19affc150dc44fab1911775a49636d0ce85333b634Zonr Changnamespace sys { 20affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 21affc150dc44fab1911775a49636d0ce85333b634Zonr Changtypedef uint8_t* Address; 22affc150dc44fab1911775a49636d0ce85333b634Zonr Changtypedef off_t Offset; 23affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 24affc150dc44fab1911775a49636d0ce85333b634Zonr Chang/** \fn strerror 25affc150dc44fab1911775a49636d0ce85333b634Zonr Chang * \brief system error message 26affc150dc44fab1911775a49636d0ce85333b634Zonr Chang */ 2737b74a387bb3993387029859c2d9d051c41c724eStephen Hineschar* strerror(int pErrnum); 28affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 29f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hinesstd::string getDefaultTargetTriple(); 30f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 31f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hinesint GetPageSize(); 32f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 33f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines/// GetRandomNum - generate a random number. 34f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hineslong GetRandomNum(); 35f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 36f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines/// SetRandomSeed - set the initial seed value for future calls to random(). 37f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hinesvoid SetRandomSeed(unsigned pSeed); 38f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 3937b74a387bb3993387029859c2d9d051c41c724eStephen Hines} // namespace sys 4037b74a387bb3993387029859c2d9d051c41c724eStephen Hines} // namespace mcld 41affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 4237b74a387bb3993387029859c2d9d051c41c724eStephen Hines#endif // MCLD_SUPPORT_SYSTEMUTILS_H_ 43