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