Mbed OS version of IoT.js implementation running on GR-PEACH
ビルド方法
ビルド環境セットアップ
Host PC要件 : Ubuntu 16.04 (64-bit)
1. 以下のコマンドを実行し、下表に示すツールをインストールします。
$ sudo apt update $ sudo apt upgrade $ sudo apt install [Package]
Package | Version |
build-essential | 12.1ubuntu2 |
gyp | 0.1+20150913git1f374df9-1ubuntu1 |
mercurial | 3.7.3-1ubuntu1 |
cmake | 3.5.1-1ubuntu3 |
git | 1:2.7.4-0ubuntu1.4 |
python2.7 | 2.7.12-1ubuntu016.04.3 |
valgrind | 1:3.11.0-1ubuntu4.2 |
python-pip | 8.1.1-2ubuntu0.4 |
2. 以下のコマンドを実行してMbed OS用ビルドツール mbed CLIをインストールします。
$ sudo -H pip install mbed-cli
3. GNU Arm Embedded Toolchainをインストールします。
- 下記URLからLinux用パッケージ (gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2) をダウンロードしてください。
https://developer.arm.com/-/media/Files/downloads/gnu-rm/6-2017q2/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2?revision=2cc92fb5-3e0e-402d-9197-bdfc8224d8a5?product=GNU%20Arm%20Embedded%20Toolchain,64-bit,,Linux,6-2017-q2-update
- ダウンロードしたファイルを任意のディレクトリに展開します。
(以下、展開先を${TOOLCHAIN}と記載します)
tar xjf gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2
- ツールチェインのパスを設定します。
環境変数を使用する場合
$ export GCC_ARM_ROOT=${TOOLCHAIN}/gcc-arm-none-eabi-6-2017-q2-update/bin $ export PATH=$GCC_ARM_ROOT:$PATH
mbed CLIで指定する場合
$ mbed config -G GCC_ARM_PATH $GCC_ARM_ROOT
iotjs環境のビルド
1. 本プログラムのクローン
下記コマンドを実行し、本プログラムをクローンしてください。
$ hg clone https://HinoNaka@os.mbed.com/users/HinoNaka/code/GR-PEACH_mbed-os-iotjs/
クローンが正常に終了すると、GR-PEACH_mbed-os-iotjs という名称のディレクトリが生成されますので、下記コマンドで当該ディレクトリへ移動してください。
$ cd GR-PEACH_mbed-os-iotjs
(Optional)
GR-PEACH-mbed-os-iotjsディレクトリを指す環境変数 ROOTを設定してください。以降の記載は本環境変数が設定されているものとします。
$ export ROOT=$(PWD)
2. 作業用ディレクトリ(e.g. work)を作成し、当該ディレクトリに移動してください。
$ mkdir -p work $ cd work
(Optional)
作業用ディレクトリを指す環境変数 WORK を設定してください。以降の記載は本環境変数 が設定されているものとします。
$ export WORK=$(PWD)
3. iotjsのソースツリーを取得します。
$ git clone https://github.com/pando-project/iotjs
クローンが正常に終了するとiotjsというディレクトリが生成されますので、当該ディレクトリに移動してください。
$cd iotjs
コミットID: acae9c8b2d40e7598b8d39b630b79113ce880a7e を取得します。
(下記例では、あわせてposixというブランチを作成し、当該ブランチへ切り替えています)
$ git checkout -b posix acae9c8b2d40e7598b8d39b630b79113ce880a7e
4. mbed-osセットアップ
Mbed OSソースツリーを格納するフォルダを生成し、当該フォルダへ移動します。
$ mkdir -p $(WORK)/iotjs/src/platform/mbedos5 $ cd $(WORK)/iotjs/src/platform/mbedos5
Mbed OSのソースツリーをクローンします。
$ git clone -b mbed-os-5.9 https://github.com/ARMmbed/mbed-os.git
クローンが正常に終了するとmbed-osというディレクトリが生成されますので、当該ディレクトリに移動してください。
$ cd mbed-os
コミットID: 50bd61a4a72332baa6b1bac6caccb44dc5423309 を取得します。
(下記例では、あわせてposixというブランチを作成し、当該ブランチへ切り替えています)
$ git checkout -b posix 50bd61a4a72332baa6b1bac6caccb44dc5423309
5. sd-driverの取得
下記コマンドでmbedos5ディレクトリへ移動します。
$ cd $(WORK)/iotjs/src/platform/mbedos5
sd-driverをクローンします。
$ git clone https://github.com/ARMmbed/sd-driver.git
クローンが正常終了するとsd-driverディレクトリが生成されますので、当該ディレクトリへ移動します。
$ cd sd-driver
コミットID: c8ae38fb291e086232566b0f1372cfb69c277e84 を取得します。
(下記例では、あわせてposixというブランチを作成し、当該ブランチへ切り替えています)
$ git checkout -b posix c8ae38fb291e086232566b0f1372cfb69c277e84
6. mbed-gr-libsの取得
下記コマンドでmbedos5ディレクトリへ移動します。
$ cd $(WORK)/iotjs/src/platform/mbedos5
mbed-gr-libsをクローンします。
$ git clone https://github.com/d-kato/mbed-gr-libs
クローンが正常終了するとmbed-gr-libsディレクトリが生成されますので、当該ディレクトリへ移動します。
$ cd mbed-gr-libs
コミットID: d921d611d596ecaebaab49070ef82450c583309c を取得します。
(下記例では、あわせてposixというブランチを作成し、当該ブランチへ切り替えています)
$ git checkout -b posix d921d611d596ecaebaab49070ef82450c583309c
7. AsciiFONTの取得
下記コマンドでmbedos5ディレクトリへ移動します。
$ cd $(WORK)/iotjs/src/platform/mbedos5
AsciiFONTライブラリを追加します。
$ mbed add https://os.mbed.com/teams/Renesas/code/AsciiFont/
8. iotjs環境のビルド
下記コマンドでiotjs環境のビルドディレクトリに移動し、ビルドを実行します。
$ cd $(WORK)/iotjs $ ./tools/build.py --no-snapshot
9. GR-PEACH用コードのコピー
(Optional) 既存のiotjs環境に上書きする場合、下記コマンドを実行してください。
$ rm -rf $(WORK)/iotjs/deps/posix $ rm -rf $(WORK)/iotjs/src/ext-modules $ rm -rf $(WORK)/iotjs/src/platform/mbedos5/iotjs_def.h
下記コマンドでGR-PEACH用コードをコピーします。
$ cp -pr $(ROOT)/src/iotjs/* $(WORK)/iotjs/
10. lwipパッチ適用
以下コマンドでlwipパッチを適用します。
$ cd $(WORK)/iotjs/src/platform/mbedos5/mbed-os $ git apply lwip_improve.patch
11. ESP32 TRNG対応パッチ適用
以下コマンドでESP32のTRNGを活用するためのパッチを適用します。
$ cd $(WORK)/iotjs/src/platform/mbedos5/mbed-os $ git apply trng_support.patch
12. Mbed OS版iotjs環境のビルド
下記コマンドを実行してMbed OS版iotjs環境をビルドします。
(リリースビルドの場合)
$ cd $(WORK)/iotjs/src/platform/mbedos5 $ make clean; make DEBUG=0
(デバッグビルドの場合)
$ cd $(WORK)/iotjs/src/platform/mbedos5 $ make clean; make DEBUG=1
13. ビルドが正常に終了すると、以下の通りバイナリが生成されます。
(リリースビルドの場合)
$ ls -l ${WORK}/iotjs/src/platform/mbedos5/BUILD/RZ_A1H/GCC_ARM-RELEASE/iotjs.bin
(デバッグビルドの場合)
$ ls -l ${WORK}/iotjs/src/platform/mbedos5/BUILD/RZ_A1H/GCC_ARM-DEBUG/iotjs.bin
実行方法
1. GR-PEACHにmicro SDカードを挿入します。
2. GR-PEACHのEthernetポートから遠い側のUSBポートとHost PCをマイクロUSBケーブルで接続します。
3. Host PCでGR-PEACHが『mbed:』ドライブとして認識されたら、iotjs.binをmbedドライブにコピーします。
4. ターミナルS/Wを立上げ、『mbed Serial Port』と接続します。
シリアルポートは下記設定としてください。
Baud rate | 115200 | |||
Data | 8 bit | |||
Parity | none | |||
Stop | 1 bit | |||
Flow control | none |
5. 正常に書込みが終了したらGR-PEACHのRESETボタンを押下します。
6. ターミナルS/W上に下記メッセージが表示されます。
7. Enterキーを押下してコード入力モードに移行します。
8. 実行するJavascriptコードをターミナルソフトウェアに貼り付けてEnterキーを押下すると、実行開始します。Javascriptコード例については、test/case.txtを参照ください。
src/iotjs/deps/posix/posix4.cpp@0:7cc000799c93, 2019-07-11 (annotated)
- Committer:
- Osamu Nakamura
- Date:
- Thu Jul 11 18:48:09 2019 +0900
- Revision:
- 0:7cc000799c93
Initial commit of iotjs core
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Osamu Nakamura |
0:7cc000799c93 | 1 | /* Copyright 2017-present Renesas Electronics Corporation and other contributors |
Osamu Nakamura |
0:7cc000799c93 | 2 | * |
Osamu Nakamura |
0:7cc000799c93 | 3 | * Licensed under the Apache License, Version 2.0 (the "License"); |
Osamu Nakamura |
0:7cc000799c93 | 4 | * you may not use this file except in compliance with the License. |
Osamu Nakamura |
0:7cc000799c93 | 5 | * You may obtain a copy of the License at |
Osamu Nakamura |
0:7cc000799c93 | 6 | * |
Osamu Nakamura |
0:7cc000799c93 | 7 | * http://www.apache.org/licenses/LICENSE-2.0 |
Osamu Nakamura |
0:7cc000799c93 | 8 | * |
Osamu Nakamura |
0:7cc000799c93 | 9 | * Unless required by applicable law or agreed to in writing, software |
Osamu Nakamura |
0:7cc000799c93 | 10 | * distributed under the License is distributed on an "AS IS" BASIS |
Osamu Nakamura |
0:7cc000799c93 | 11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
Osamu Nakamura |
0:7cc000799c93 | 12 | * See the License for the specific language governing permissions and |
Osamu Nakamura |
0:7cc000799c93 | 13 | * limitations under the License. |
Osamu Nakamura |
0:7cc000799c93 | 14 | */ |
Osamu Nakamura |
0:7cc000799c93 | 15 | |
Osamu Nakamura |
0:7cc000799c93 | 16 | #include "./posix4_target.h" |
Osamu Nakamura |
0:7cc000799c93 | 17 | |
Osamu Nakamura |
0:7cc000799c93 | 18 | inline const char* safe_str(const char* in) { return in ? in : "<null>"; } |
Osamu Nakamura |
0:7cc000799c93 | 19 | |
Osamu Nakamura |
0:7cc000799c93 | 20 | char* P4(getcwd)(char* buf, P4(size_t) size) |
Osamu Nakamura |
0:7cc000799c93 | 21 | { |
Osamu Nakamura |
0:7cc000799c93 | 22 | TRACE(ENTER "getcwd(buf=%p, size=%u)", buf, size); |
Osamu Nakamura |
0:7cc000799c93 | 23 | char* rc = posix::getcwd( buf, size ); |
Osamu Nakamura |
0:7cc000799c93 | 24 | TRACE(LEAVE "getcwd(buf=%p, size=%u) = %s(errno:%d)", buf, size, safe_str(rc), errno); |
Osamu Nakamura |
0:7cc000799c93 | 25 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 26 | } |
Osamu Nakamura |
0:7cc000799c93 | 27 | |
Osamu Nakamura |
0:7cc000799c93 | 28 | int P4(chdir)(const char* path) |
Osamu Nakamura |
0:7cc000799c93 | 29 | { |
Osamu Nakamura |
0:7cc000799c93 | 30 | TRACE(ENTER "chdir(path=%s)", safe_str(path)); |
Osamu Nakamura |
0:7cc000799c93 | 31 | int rc = posix::chdir( path ); |
Osamu Nakamura |
0:7cc000799c93 | 32 | TRACE(LEAVE "chdir(path=%s) = %d(errno:%d)", safe_str(path), rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 33 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 34 | } |
Osamu Nakamura |
0:7cc000799c93 | 35 | |
Osamu Nakamura |
0:7cc000799c93 | 36 | int P4(fdatasync)(int fd) |
Osamu Nakamura |
0:7cc000799c93 | 37 | { |
Osamu Nakamura |
0:7cc000799c93 | 38 | TRACE(ENTER "fdatasync(fd=%d)", fd); |
Osamu Nakamura |
0:7cc000799c93 | 39 | int rc = posix::fdatasync( fd ); |
Osamu Nakamura |
0:7cc000799c93 | 40 | TRACE(LEAVE "fdatasync(fd=%d) = %d(errno:%d)", fd, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 41 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 42 | } |
Osamu Nakamura |
0:7cc000799c93 | 43 | |
Osamu Nakamura |
0:7cc000799c93 | 44 | int P4(fsync)(int fd) |
Osamu Nakamura |
0:7cc000799c93 | 45 | { |
Osamu Nakamura |
0:7cc000799c93 | 46 | TRACE(ENTER "fsync(fd=%d)", fd); |
Osamu Nakamura |
0:7cc000799c93 | 47 | int rc = posix::fsync( fd ); |
Osamu Nakamura |
0:7cc000799c93 | 48 | TRACE(LEAVE "fsync(fd=%d) = %d(errno:%d)", fd, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 49 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 50 | } |
Osamu Nakamura |
0:7cc000799c93 | 51 | |
Osamu Nakamura |
0:7cc000799c93 | 52 | int P4(ftruncate)(int fd, P4(off_t) length) |
Osamu Nakamura |
0:7cc000799c93 | 53 | { |
Osamu Nakamura |
0:7cc000799c93 | 54 | TRACE(ENTER "ftruncate(fd=%d, length=%ld)", fd, length); |
Osamu Nakamura |
0:7cc000799c93 | 55 | int rc = posix::ftruncate( fd, length ); |
Osamu Nakamura |
0:7cc000799c93 | 56 | TRACE(LEAVE "ftruncate(fd=%d, length=%ld) = %d(errno:%d)", fd, length, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 57 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 58 | } |
Osamu Nakamura |
0:7cc000799c93 | 59 | |
Osamu Nakamura |
0:7cc000799c93 | 60 | int P4(scandir)(const char* dirp, struct P4(dirent)*** namelist, int (*filter)(const struct P4(dirent)*), int (*compar)(const struct P4(dirent)**, const struct P4(dirent)**)) |
Osamu Nakamura |
0:7cc000799c93 | 61 | { |
Osamu Nakamura |
0:7cc000799c93 | 62 | TRACE(ENTER "scandir(dirp=%s, namelist=%p, filter=%p, compar=%p)", safe_str(dirp), namelist, filter, compar); |
Osamu Nakamura |
0:7cc000799c93 | 63 | int rc = posix::scandir( dirp, namelist, filter, compar ); |
Osamu Nakamura |
0:7cc000799c93 | 64 | TRACE(LEAVE "scandir(dirp=%s, namelist=%p, filter=%p, compar=%p) = %d(errno:%d)", safe_str(dirp), namelist, filter, compar, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 65 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 66 | } |
Osamu Nakamura |
0:7cc000799c93 | 67 | |
Osamu Nakamura |
0:7cc000799c93 | 68 | int P4(utime)(const char* filename, const struct P4(utimbuf)* times) |
Osamu Nakamura |
0:7cc000799c93 | 69 | { |
Osamu Nakamura |
0:7cc000799c93 | 70 | TRACE(ENTER "utime(filename=%s, times=%p)", safe_str(filename), times); |
Osamu Nakamura |
0:7cc000799c93 | 71 | int rc = posix::utime( filename, times ); |
Osamu Nakamura |
0:7cc000799c93 | 72 | TRACE(LEAVE "utime(filename=%s, times=%p) = %d(errno:%d)", safe_str(filename), times, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 73 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 74 | } |
Osamu Nakamura |
0:7cc000799c93 | 75 | |
Osamu Nakamura |
0:7cc000799c93 | 76 | int P4(utimes)(const char* filename, const struct P4(timeval) times[2]) |
Osamu Nakamura |
0:7cc000799c93 | 77 | { |
Osamu Nakamura |
0:7cc000799c93 | 78 | TRACE(ENTER "utimes(filename=%s, times[2]=maybe_later)", safe_str(filename)); |
Osamu Nakamura |
0:7cc000799c93 | 79 | int rc = posix::utimes( filename, times ); |
Osamu Nakamura |
0:7cc000799c93 | 80 | TRACE(LEAVE "utimes(filename=%s, times[2]=maybe_later) = %d(errno:%d)", safe_str(filename), rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 81 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 82 | } |
Osamu Nakamura |
0:7cc000799c93 | 83 | |
Osamu Nakamura |
0:7cc000799c93 | 84 | P4(ssize_t) P4(pread)(int fd, void* buf, P4(size_t) count, P4(off_t) offset) |
Osamu Nakamura |
0:7cc000799c93 | 85 | { |
Osamu Nakamura |
0:7cc000799c93 | 86 | TRACE(ENTER "pread(fd=%d, buf=%p, count=%d, offset=%ld)", fd, buf, count, offset); |
Osamu Nakamura |
0:7cc000799c93 | 87 | P4(ssize_t) rc = posix::pread( fd, buf, count, offset ); |
Osamu Nakamura |
0:7cc000799c93 | 88 | TRACE(LEAVE "pread(fd=%d, buf=%p, count=%d, offset=%ld) = %d(errno:%d)", fd, buf, count, offset, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 89 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 90 | } |
Osamu Nakamura |
0:7cc000799c93 | 91 | |
Osamu Nakamura |
0:7cc000799c93 | 92 | P4(ssize_t) P4(pwrite)(int fd, const void* buf, P4(size_t) count, P4(off_t) offset) |
Osamu Nakamura |
0:7cc000799c93 | 93 | { |
Osamu Nakamura |
0:7cc000799c93 | 94 | TRACE(ENTER "pwrite(fd=%d, buf=%p, count=%d, offset=%ld)", fd, buf, count, offset); |
Osamu Nakamura |
0:7cc000799c93 | 95 | P4(ssize_t) rc = posix::pwrite( fd, buf, count, offset ); |
Osamu Nakamura |
0:7cc000799c93 | 96 | TRACE(LEAVE "pwrite(fd=%d, buf=%p, count=%d, offset=%ld) = %d(errno:%d)", fd, buf, count, offset, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 97 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 98 | } |
Osamu Nakamura |
0:7cc000799c93 | 99 | |
Osamu Nakamura |
0:7cc000799c93 | 100 | P4(ssize_t) P4(readv)(int fd, const struct P4(iovec)* iov, int iovcnt) |
Osamu Nakamura |
0:7cc000799c93 | 101 | { |
Osamu Nakamura |
0:7cc000799c93 | 102 | TRACE(ENTER "readv(fd=%d, iov=%p, iovcnt=%d)", fd, iov, iovcnt); |
Osamu Nakamura |
0:7cc000799c93 | 103 | P4(ssize_t) rc = posix::readv( fd, iov, iovcnt ); |
Osamu Nakamura |
0:7cc000799c93 | 104 | TRACE(LEAVE "readv(fd=%d, iov=%p, iovcnt=%d) = %d(errno:%d)", fd, iov, iovcnt, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 105 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 106 | } |
Osamu Nakamura |
0:7cc000799c93 | 107 | |
Osamu Nakamura |
0:7cc000799c93 | 108 | P4(ssize_t) P4(writev)(int fd, const struct P4(iovec)* iov, int iovcnt) |
Osamu Nakamura |
0:7cc000799c93 | 109 | { |
Osamu Nakamura |
0:7cc000799c93 | 110 | TRACE(ENTER "writev(fd=%d, iov=%p, iovcnt=%d)", fd, iov, iovcnt); |
Osamu Nakamura |
0:7cc000799c93 | 111 | P4(ssize_t) rc = posix::writev( fd, iov, iovcnt ); |
Osamu Nakamura |
0:7cc000799c93 | 112 | TRACE(LEAVE "writev(fd=%d, iov=%p, iovcnt=%d) = %d(errno:%d)", fd, iov, iovcnt, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 113 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 114 | } |
Osamu Nakamura |
0:7cc000799c93 | 115 | |
Osamu Nakamura |
0:7cc000799c93 | 116 | int P4(utimensat)(int dirfd, const char* pathname, const struct P4(timespec) times[2], int flags) |
Osamu Nakamura |
0:7cc000799c93 | 117 | { |
Osamu Nakamura |
0:7cc000799c93 | 118 | TRACE(ENTER "utimensat(dirfd=%d, pathname=%s, times=%p, flags=%d)", dirfd, safe_str(pathname), times, flags); |
Osamu Nakamura |
0:7cc000799c93 | 119 | int rc = posix::utimensat( dirfd, pathname, times, flags ); |
Osamu Nakamura |
0:7cc000799c93 | 120 | TRACE(LEAVE "utimensat(dirfd=%d, pathname=%s, times=%p, flags=%d) = %d(errno:%d)", dirfd, safe_str(pathname), times, flags, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 121 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 122 | } |
Osamu Nakamura |
0:7cc000799c93 | 123 | |
Osamu Nakamura |
0:7cc000799c93 | 124 | int P4(clock_getres)(P4(clockid_t) clk_id, struct P4(timespec)* res) |
Osamu Nakamura |
0:7cc000799c93 | 125 | { |
Osamu Nakamura |
0:7cc000799c93 | 126 | TRACE(ENTER "clock_getres(clk_id=%lu, res=%p)", clk_id, res); |
Osamu Nakamura |
0:7cc000799c93 | 127 | int rc = posix::clock::getres( clk_id, res ); |
Osamu Nakamura |
0:7cc000799c93 | 128 | TRACE(LEAVE "clock_getres(clk_id=%lu, res={%ld.%09ld}) = %d(errno:%d)", clk_id, res->tv_sec, res->tv_nsec, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 129 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 130 | } |
Osamu Nakamura |
0:7cc000799c93 | 131 | |
Osamu Nakamura |
0:7cc000799c93 | 132 | int P4(clock_gettime)(P4(clockid_t) clk_id, struct P4(timespec)* tp) |
Osamu Nakamura |
0:7cc000799c93 | 133 | { |
Osamu Nakamura |
0:7cc000799c93 | 134 | TRACE(ENTER "clock_gettime(clk_id=%lu, tp=%p)", clk_id, tp); |
Osamu Nakamura |
0:7cc000799c93 | 135 | int rc = posix::clock::gettime( clk_id, tp ); |
Osamu Nakamura |
0:7cc000799c93 | 136 | TRACE(LEAVE "clock_gettime(clk_id=%lu, tp={%ld.%09ld}) = %d(errno:%d)", clk_id, tp->tv_sec, tp->tv_nsec, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 137 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 138 | } |
Osamu Nakamura |
0:7cc000799c93 | 139 | |
Osamu Nakamura |
0:7cc000799c93 | 140 | int P4(pthread_create)(P4(pthread_t)* thread, P4(pthread_attr_t)* attr, void* (*start_routine)(void*), void* arg) |
Osamu Nakamura |
0:7cc000799c93 | 141 | { |
Osamu Nakamura |
0:7cc000799c93 | 142 | TRACE(ENTER "pthread_create(thread=%p, attr=%p, start_routine=%p, arg=%p)", thread, attr, start_routine, arg); |
Osamu Nakamura |
0:7cc000799c93 | 143 | int rc = posix::pthread::create( thread, attr, start_routine, arg ); |
Osamu Nakamura |
0:7cc000799c93 | 144 | TRACE(LEAVE "pthread_create(thread={%p}, attr=%p, start_routine=%p, arg=%p) = %d", *thread, attr, start_routine, arg, rc); |
Osamu Nakamura |
0:7cc000799c93 | 145 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 146 | } |
Osamu Nakamura |
0:7cc000799c93 | 147 | |
Osamu Nakamura |
0:7cc000799c93 | 148 | int P4(pthread_join)(P4(pthread_t) thread, void** retval) |
Osamu Nakamura |
0:7cc000799c93 | 149 | { |
Osamu Nakamura |
0:7cc000799c93 | 150 | TRACE(ENTER "pthread_join(thread=%p, retval=%p)", thread, retval); |
Osamu Nakamura |
0:7cc000799c93 | 151 | int rc = posix::pthread::join( thread, retval ); |
Osamu Nakamura |
0:7cc000799c93 | 152 | TRACE(LEAVE "pthread_join(thread=%p, retval=%p) = %d", thread, retval, rc); |
Osamu Nakamura |
0:7cc000799c93 | 153 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 154 | } |
Osamu Nakamura |
0:7cc000799c93 | 155 | |
Osamu Nakamura |
0:7cc000799c93 | 156 | int P4(pthread_once)(P4(pthread_once_t)* once_control, void (*init_routine)(void)) |
Osamu Nakamura |
0:7cc000799c93 | 157 | { |
Osamu Nakamura |
0:7cc000799c93 | 158 | TRACE(ENTER "pthread_once(once_control={0x%08X}, init_routine=%p)", *once_control, init_routine); |
Osamu Nakamura |
0:7cc000799c93 | 159 | int rc = posix::pthread::once( once_control, init_routine ); |
Osamu Nakamura |
0:7cc000799c93 | 160 | TRACE(LEAVE "pthread_once(once_control={0x%08X}, init_routine=%p) = %d", *once_control, init_routine, rc); |
Osamu Nakamura |
0:7cc000799c93 | 161 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 162 | } |
Osamu Nakamura |
0:7cc000799c93 | 163 | |
Osamu Nakamura |
0:7cc000799c93 | 164 | int P4(pthread_sigmask)(int how, const P4(sigset_t)* set, P4(sigset_t)* oldset) |
Osamu Nakamura |
0:7cc000799c93 | 165 | { |
Osamu Nakamura |
0:7cc000799c93 | 166 | TRACE(ENTER "pthread_sigmask(how=%d, set=%p, oldset=%p)", how, set, oldset); |
Osamu Nakamura |
0:7cc000799c93 | 167 | int rc = posix::pthread::sigmask( how, set, oldset ); |
Osamu Nakamura |
0:7cc000799c93 | 168 | TRACE(LEAVE "pthread_sigmask(how=%d, set=%p, oldset=%p) = %d", how, set, oldset, rc); |
Osamu Nakamura |
0:7cc000799c93 | 169 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 170 | } |
Osamu Nakamura |
0:7cc000799c93 | 171 | |
Osamu Nakamura |
0:7cc000799c93 | 172 | int P4(pthread_attr_destroy)(P4(pthread_attr_t)* attr) |
Osamu Nakamura |
0:7cc000799c93 | 173 | { |
Osamu Nakamura |
0:7cc000799c93 | 174 | TRACE(ENTER "pthread_attr_destroy(attr=%p)", attr); |
Osamu Nakamura |
0:7cc000799c93 | 175 | int rc = posix::pthread::attr::destroy( attr ); |
Osamu Nakamura |
0:7cc000799c93 | 176 | TRACE(LEAVE "pthread_attr_destroy(attr=%p) = %d", attr, rc); |
Osamu Nakamura |
0:7cc000799c93 | 177 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 178 | } |
Osamu Nakamura |
0:7cc000799c93 | 179 | |
Osamu Nakamura |
0:7cc000799c93 | 180 | int P4(pthread_cond_destroy)(P4(pthread_cond_t)* cond) |
Osamu Nakamura |
0:7cc000799c93 | 181 | { |
Osamu Nakamura |
0:7cc000799c93 | 182 | TRACE(ENTER "pthread_cond_destroy(cond=%p)", cond); |
Osamu Nakamura |
0:7cc000799c93 | 183 | int rc = posix::pthread::cond::destroy( cond ); |
Osamu Nakamura |
0:7cc000799c93 | 184 | TRACE(LEAVE "pthread_cond_destroy(cond=%p) = %d", cond, rc); |
Osamu Nakamura |
0:7cc000799c93 | 185 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 186 | } |
Osamu Nakamura |
0:7cc000799c93 | 187 | |
Osamu Nakamura |
0:7cc000799c93 | 188 | int P4(pthread_cond_init)(P4(pthread_cond_t)* cond, P4(pthread_condattr_t)* cond_attr) |
Osamu Nakamura |
0:7cc000799c93 | 189 | { |
Osamu Nakamura |
0:7cc000799c93 | 190 | TRACE(ENTER "pthread_cond_init(cond=%p, cond_attr=%p)", cond, cond_attr); |
Osamu Nakamura |
0:7cc000799c93 | 191 | int rc = posix::pthread::cond::init( cond, cond_attr ); |
Osamu Nakamura |
0:7cc000799c93 | 192 | TRACE(LEAVE "pthread_cond_init(cond=%p, cond_attr=%p) = %d", cond, cond_attr, rc); |
Osamu Nakamura |
0:7cc000799c93 | 193 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 194 | } |
Osamu Nakamura |
0:7cc000799c93 | 195 | |
Osamu Nakamura |
0:7cc000799c93 | 196 | int P4(pthread_cond_signal)(P4(pthread_cond_t)* cond) |
Osamu Nakamura |
0:7cc000799c93 | 197 | { |
Osamu Nakamura |
0:7cc000799c93 | 198 | TRACE(ENTER "pthread_cond_signal(cond=%p)", cond); |
Osamu Nakamura |
0:7cc000799c93 | 199 | int rc = posix::pthread::cond::signal( cond ); |
Osamu Nakamura |
0:7cc000799c93 | 200 | TRACE(LEAVE "pthread_cond_signal(cond=%p) = %d", cond, rc); |
Osamu Nakamura |
0:7cc000799c93 | 201 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 202 | } |
Osamu Nakamura |
0:7cc000799c93 | 203 | |
Osamu Nakamura |
0:7cc000799c93 | 204 | int P4(pthread_cond_wait)(P4(pthread_cond_t)* cond, P4(pthread_mutex_t)* mutex) |
Osamu Nakamura |
0:7cc000799c93 | 205 | { |
Osamu Nakamura |
0:7cc000799c93 | 206 | TRACE(ENTER "pthread_cond_wait(cond=%p, mutex=%p)", cond, mutex); |
Osamu Nakamura |
0:7cc000799c93 | 207 | int rc = posix::pthread::cond::wait( cond, mutex ); |
Osamu Nakamura |
0:7cc000799c93 | 208 | TRACE(LEAVE "pthread_cond_wait(cond=%p, mutex=%p) = %d", cond, mutex, rc); |
Osamu Nakamura |
0:7cc000799c93 | 209 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 210 | } |
Osamu Nakamura |
0:7cc000799c93 | 211 | |
Osamu Nakamura |
0:7cc000799c93 | 212 | int P4(pthread_condattr_destroy)(P4(pthread_condattr_t)* attr) |
Osamu Nakamura |
0:7cc000799c93 | 213 | { |
Osamu Nakamura |
0:7cc000799c93 | 214 | TRACE(ENTER "pthread_condattr_destroy(attr=%p)", attr); |
Osamu Nakamura |
0:7cc000799c93 | 215 | int rc = posix::pthread::condattr::destroy( attr ); |
Osamu Nakamura |
0:7cc000799c93 | 216 | TRACE(LEAVE "pthread_condattr_destroy(attr=%p) = %d", attr, rc); |
Osamu Nakamura |
0:7cc000799c93 | 217 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 218 | } |
Osamu Nakamura |
0:7cc000799c93 | 219 | |
Osamu Nakamura |
0:7cc000799c93 | 220 | int P4(pthread_condattr_init)(P4(pthread_condattr_t)* attr) |
Osamu Nakamura |
0:7cc000799c93 | 221 | { |
Osamu Nakamura |
0:7cc000799c93 | 222 | TRACE(ENTER "pthread_condattr_init(attr=%p)", attr); |
Osamu Nakamura |
0:7cc000799c93 | 223 | int rc = posix::pthread::condattr::init( attr ); |
Osamu Nakamura |
0:7cc000799c93 | 224 | TRACE(LEAVE "pthread_condattr_init(attr=%p) = %d", attr, rc); |
Osamu Nakamura |
0:7cc000799c93 | 225 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 226 | } |
Osamu Nakamura |
0:7cc000799c93 | 227 | |
Osamu Nakamura |
0:7cc000799c93 | 228 | int P4(pthread_condattr_setclock)(P4(pthread_condattr_t)* attr, P4(clockid_t) clock_id) |
Osamu Nakamura |
0:7cc000799c93 | 229 | { |
Osamu Nakamura |
0:7cc000799c93 | 230 | TRACE(ENTER "pthread_condattr_setclock(attr=%p, clock_id=%lu)", attr, clock_id); |
Osamu Nakamura |
0:7cc000799c93 | 231 | int rc = posix::pthread::condattr::setclock( attr, clock_id ); |
Osamu Nakamura |
0:7cc000799c93 | 232 | TRACE(LEAVE "pthread_condattr_setclock(attr=%p, clock_id=%lu) = %d", attr, clock_id, rc); |
Osamu Nakamura |
0:7cc000799c93 | 233 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 234 | } |
Osamu Nakamura |
0:7cc000799c93 | 235 | |
Osamu Nakamura |
0:7cc000799c93 | 236 | int P4(pthread_mutex_destroy)(P4(pthread_mutex_t)* mutex) |
Osamu Nakamura |
0:7cc000799c93 | 237 | { |
Osamu Nakamura |
0:7cc000799c93 | 238 | TRACE(ENTER "pthread_mutex_destroy(mutex=%p)", mutex); |
Osamu Nakamura |
0:7cc000799c93 | 239 | int rc = posix::pthread::mutex::destroy( mutex ); |
Osamu Nakamura |
0:7cc000799c93 | 240 | TRACE(LEAVE "pthread_mutex_destroy(mutex=%p) = %d", mutex, rc); |
Osamu Nakamura |
0:7cc000799c93 | 241 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 242 | } |
Osamu Nakamura |
0:7cc000799c93 | 243 | |
Osamu Nakamura |
0:7cc000799c93 | 244 | int P4(pthread_mutex_init)(P4(pthread_mutex_t)* mutex, const P4(pthread_mutexattr_t)* mutexattr) |
Osamu Nakamura |
0:7cc000799c93 | 245 | { |
Osamu Nakamura |
0:7cc000799c93 | 246 | TRACE(ENTER "pthread_mutex_init(mutex=%p, mutexattr=%p)", mutex, mutexattr); |
Osamu Nakamura |
0:7cc000799c93 | 247 | int rc = posix::pthread::mutex::init( mutex, mutexattr ); |
Osamu Nakamura |
0:7cc000799c93 | 248 | TRACE(LEAVE "pthread_mutex_init(mutex=%p, mutexattr=%p) = %d", mutex, mutexattr, rc); |
Osamu Nakamura |
0:7cc000799c93 | 249 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 250 | } |
Osamu Nakamura |
0:7cc000799c93 | 251 | |
Osamu Nakamura |
0:7cc000799c93 | 252 | int P4(pthread_mutex_lock)(P4(pthread_mutex_t)* mutex) |
Osamu Nakamura |
0:7cc000799c93 | 253 | { |
Osamu Nakamura |
0:7cc000799c93 | 254 | TRACE(ENTER "pthread_mutex_lock(mutex=%p)", mutex); |
Osamu Nakamura |
0:7cc000799c93 | 255 | int rc = posix::pthread::mutex::lock( mutex ); |
Osamu Nakamura |
0:7cc000799c93 | 256 | TRACE(LEAVE "pthread_mutex_lock(mutex=%p) = %d", mutex, rc); |
Osamu Nakamura |
0:7cc000799c93 | 257 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 258 | } |
Osamu Nakamura |
0:7cc000799c93 | 259 | |
Osamu Nakamura |
0:7cc000799c93 | 260 | int P4(pthread_mutex_unlock)(P4(pthread_mutex_t)* mutex) |
Osamu Nakamura |
0:7cc000799c93 | 261 | { |
Osamu Nakamura |
0:7cc000799c93 | 262 | TRACE(ENTER "pthread_mutex_unlock(mutex=%p)", mutex); |
Osamu Nakamura |
0:7cc000799c93 | 263 | int rc = posix::pthread::mutex::unlock( mutex ); |
Osamu Nakamura |
0:7cc000799c93 | 264 | TRACE(LEAVE "pthread_mutex_unlock(mutex=%p) = %d", mutex, rc); |
Osamu Nakamura |
0:7cc000799c93 | 265 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 266 | } |
Osamu Nakamura |
0:7cc000799c93 | 267 | |
Osamu Nakamura |
0:7cc000799c93 | 268 | int P4(pthread_rwlock_destroy)(P4(pthread_rwlock_t)* rwlock) |
Osamu Nakamura |
0:7cc000799c93 | 269 | { |
Osamu Nakamura |
0:7cc000799c93 | 270 | TRACE(ENTER "pthread_rwlock_destroy(rwlock=%p)", rwlock); |
Osamu Nakamura |
0:7cc000799c93 | 271 | int rc = posix::pthread::rwlock::destroy( rwlock ); |
Osamu Nakamura |
0:7cc000799c93 | 272 | TRACE(LEAVE "pthread_rwlock_destroy(rwlock=%p) = %d", rwlock, rc); |
Osamu Nakamura |
0:7cc000799c93 | 273 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 274 | } |
Osamu Nakamura |
0:7cc000799c93 | 275 | |
Osamu Nakamura |
0:7cc000799c93 | 276 | int P4(pthread_rwlock_init)(P4(pthread_rwlock_t)* rwlock, const P4(pthread_rwlockattr_t)* attr) |
Osamu Nakamura |
0:7cc000799c93 | 277 | { |
Osamu Nakamura |
0:7cc000799c93 | 278 | TRACE(ENTER "pthread_rwlock_init(rwlock=%p, attr=%p)", rwlock, attr); |
Osamu Nakamura |
0:7cc000799c93 | 279 | int rc = posix::pthread::rwlock::init( rwlock, attr ); |
Osamu Nakamura |
0:7cc000799c93 | 280 | TRACE(LEAVE "pthread_rwlock_init(rwlock=%p, attr=%p) = %d", rwlock, attr, rc); |
Osamu Nakamura |
0:7cc000799c93 | 281 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 282 | } |
Osamu Nakamura |
0:7cc000799c93 | 283 | |
Osamu Nakamura |
0:7cc000799c93 | 284 | int P4(pthread_rwlock_rdlock)(P4(pthread_rwlock_t)* rwlock) |
Osamu Nakamura |
0:7cc000799c93 | 285 | { |
Osamu Nakamura |
0:7cc000799c93 | 286 | TRACE(ENTER "pthread_rwlock_rdlock(rwlock=%p)", rwlock); |
Osamu Nakamura |
0:7cc000799c93 | 287 | int rc = posix::pthread::rwlock::rdlock( rwlock ); |
Osamu Nakamura |
0:7cc000799c93 | 288 | TRACE(LEAVE "pthread_rwlock_rdlock(rwlock=%p) = %d", rwlock, rc); |
Osamu Nakamura |
0:7cc000799c93 | 289 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 290 | } |
Osamu Nakamura |
0:7cc000799c93 | 291 | |
Osamu Nakamura |
0:7cc000799c93 | 292 | int P4(pthread_rwlock_unlock)(P4(pthread_rwlock_t)* rwlock) |
Osamu Nakamura |
0:7cc000799c93 | 293 | { |
Osamu Nakamura |
0:7cc000799c93 | 294 | TRACE(ENTER "pthread_rwlock_unlock(rwlock=%p)", rwlock); |
Osamu Nakamura |
0:7cc000799c93 | 295 | int rc = posix::pthread::rwlock::unlock( rwlock ); |
Osamu Nakamura |
0:7cc000799c93 | 296 | TRACE(LEAVE "pthread_rwlock_unlock(rwlock=%p) = %d", rwlock, rc); |
Osamu Nakamura |
0:7cc000799c93 | 297 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 298 | } |
Osamu Nakamura |
0:7cc000799c93 | 299 | |
Osamu Nakamura |
0:7cc000799c93 | 300 | struct P4(cmsghdr)* P4(cmsg_nxthdr)(struct P4(msghdr)* mhdr, struct P4(cmsghdr)* cmsg) |
Osamu Nakamura |
0:7cc000799c93 | 301 | { |
Osamu Nakamura |
0:7cc000799c93 | 302 | #define OFFSET(addr, bytes) ((void*)((char*)addr + bytes)) |
Osamu Nakamura |
0:7cc000799c93 | 303 | if((P4(size_t))cmsg->cmsg_len < sizeof( struct P4(cmsghdr) )) { |
Osamu Nakamura |
0:7cc000799c93 | 304 | return 0; |
Osamu Nakamura |
0:7cc000799c93 | 305 | } |
Osamu Nakamura |
0:7cc000799c93 | 306 | cmsg = (struct P4(cmsghdr)*)OFFSET( cmsg, CMSG_ALIGN( cmsg->cmsg_len ) ); |
Osamu Nakamura |
0:7cc000799c93 | 307 | if( cmsg + 1 > OFFSET( mhdr->msg_control, mhdr->msg_controllen ) ) { |
Osamu Nakamura |
0:7cc000799c93 | 308 | return 0; |
Osamu Nakamura |
0:7cc000799c93 | 309 | } |
Osamu Nakamura |
0:7cc000799c93 | 310 | if( OFFSET( cmsg, CMSG_ALIGN( cmsg->cmsg_len ) ) > OFFSET( mhdr->msg_control, mhdr->msg_controllen ) ) { |
Osamu Nakamura |
0:7cc000799c93 | 311 | return 0; |
Osamu Nakamura |
0:7cc000799c93 | 312 | } |
Osamu Nakamura |
0:7cc000799c93 | 313 | #undef OFFSET |
Osamu Nakamura |
0:7cc000799c93 | 314 | return cmsg; |
Osamu Nakamura |
0:7cc000799c93 | 315 | } |
Osamu Nakamura |
0:7cc000799c93 | 316 | |
Osamu Nakamura |
0:7cc000799c93 | 317 | int P4(accept)(int sockfd, struct P4(sockaddr)* addr, P4(socklen_t)* addrlen) |
Osamu Nakamura |
0:7cc000799c93 | 318 | { |
Osamu Nakamura |
0:7cc000799c93 | 319 | TRACE(ENTER "accept(sockfd=%d, addr=%p, addrlen=%p)", sockfd, addr, addrlen); |
Osamu Nakamura |
0:7cc000799c93 | 320 | int rc = posix::sock::accept( sockfd, addr, addrlen ); |
Osamu Nakamura |
0:7cc000799c93 | 321 | TRACE(LEAVE "accept(sockfd=%d, addr=%p, addrlen=%p) = %d(errno:%d)", sockfd, addr, addrlen, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 322 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 323 | } |
Osamu Nakamura |
0:7cc000799c93 | 324 | |
Osamu Nakamura |
0:7cc000799c93 | 325 | int P4(bind)(int sockfd, const struct P4(sockaddr)* addr, P4(socklen_t) addrlen) |
Osamu Nakamura |
0:7cc000799c93 | 326 | { |
Osamu Nakamura |
0:7cc000799c93 | 327 | TRACE(ENTER "bind(sockfd=%d, addr=%p, addrlen=%lu)", sockfd, addr, addrlen); |
Osamu Nakamura |
0:7cc000799c93 | 328 | int rc = posix::sock::bind( sockfd, addr, addrlen ); |
Osamu Nakamura |
0:7cc000799c93 | 329 | TRACE(LEAVE "bind(sockfd=%d, addr=%p, addrlen=%lu) = %d(errno:%d)", sockfd, addr, addrlen, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 330 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 331 | } |
Osamu Nakamura |
0:7cc000799c93 | 332 | |
Osamu Nakamura |
0:7cc000799c93 | 333 | int P4(connect)(int sockfd, const struct P4(sockaddr)* addr, P4(socklen_t) addrlen) |
Osamu Nakamura |
0:7cc000799c93 | 334 | { |
Osamu Nakamura |
0:7cc000799c93 | 335 | TRACE(ENTER "connect(sockfd=%d, addr=%p, addrlen=%lu)", sockfd, addr, addrlen); |
Osamu Nakamura |
0:7cc000799c93 | 336 | int rc = posix::sock::connect( sockfd, addr, addrlen ); |
Osamu Nakamura |
0:7cc000799c93 | 337 | TRACE(LEAVE "connect(sockfd=%d, addr=%p, addrlen=%lu) = %d(errno:%d)", sockfd, addr, addrlen, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 338 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 339 | } |
Osamu Nakamura |
0:7cc000799c93 | 340 | |
Osamu Nakamura |
0:7cc000799c93 | 341 | void P4(freeaddrinfo)(struct P4(addrinfo)* res) |
Osamu Nakamura |
0:7cc000799c93 | 342 | { |
Osamu Nakamura |
0:7cc000799c93 | 343 | TRACE(ENTER "freeaddrinfo(res=%p)", res); |
Osamu Nakamura |
0:7cc000799c93 | 344 | posix::sock::freeaddrinfo( res ); |
Osamu Nakamura |
0:7cc000799c93 | 345 | TRACE(LEAVE "freeaddrinfo(res=%p)", res); |
Osamu Nakamura |
0:7cc000799c93 | 346 | } |
Osamu Nakamura |
0:7cc000799c93 | 347 | |
Osamu Nakamura |
0:7cc000799c93 | 348 | int P4(getaddrinfo)(const char* node, const char* service, const struct P4(addrinfo)* hints, struct P4(addrinfo)** res) |
Osamu Nakamura |
0:7cc000799c93 | 349 | { |
Osamu Nakamura |
0:7cc000799c93 | 350 | TRACE(ENTER "getaddrinfo(node={%s}, service={%s}, hints=%p, res=%p)", safe_str(node), safe_str(service), hints, res); |
Osamu Nakamura |
0:7cc000799c93 | 351 | int rc = posix::sock::getaddrinfo( node, service, hints, res ); |
Osamu Nakamura |
0:7cc000799c93 | 352 | TRACE(LEAVE "getaddrinfo(node={%s}, service={%s}, hints=%p, res=%p) = %d", safe_str(node), safe_str(service), hints, res, rc); |
Osamu Nakamura |
0:7cc000799c93 | 353 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 354 | } |
Osamu Nakamura |
0:7cc000799c93 | 355 | |
Osamu Nakamura |
0:7cc000799c93 | 356 | int P4(getsockname)(int sockfd, struct P4(sockaddr)* addr, P4(socklen_t)* addrlen) |
Osamu Nakamura |
0:7cc000799c93 | 357 | { |
Osamu Nakamura |
0:7cc000799c93 | 358 | TRACE(ENTER "getsockname(sockfd=%d, addr=%p, addrlen={%ld})", sockfd, addr, *addrlen); |
Osamu Nakamura |
0:7cc000799c93 | 359 | int rc = posix::sock::getsockname( sockfd, addr, addrlen ); |
Osamu Nakamura |
0:7cc000799c93 | 360 | TRACE(LEAVE "getsockname(sockfd=%d, addr=%p, addrlen={%ld}) = %d(errno:%d)", sockfd, addr, *addrlen, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 361 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 362 | } |
Osamu Nakamura |
0:7cc000799c93 | 363 | |
Osamu Nakamura |
0:7cc000799c93 | 364 | int P4(getsockopt)(int sockfd, int level, int optname, void* optval, P4(socklen_t)* optlen) |
Osamu Nakamura |
0:7cc000799c93 | 365 | { |
Osamu Nakamura |
0:7cc000799c93 | 366 | TRACE(ENTER "getsockopt(sockfd=%d, level=%d, optname=%d, optval=%p, optlen=%p)", sockfd, level, optname, optval, optlen); |
Osamu Nakamura |
0:7cc000799c93 | 367 | uint32_t rc = posix::sock::getsockopt( sockfd, level, optname, optval, optlen ); |
Osamu Nakamura |
0:7cc000799c93 | 368 | TRACE(LEAVE "getsockopt(sockfd=%d, level=%d, optname=%d, optval=%p, optlen=%p) = %lu(errno:%d)", sockfd, level, optname, optval, optlen, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 369 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 370 | } |
Osamu Nakamura |
0:7cc000799c93 | 371 | |
Osamu Nakamura |
0:7cc000799c93 | 372 | uint32_t P4(htonl)(uint32_t hostlong) |
Osamu Nakamura |
0:7cc000799c93 | 373 | { |
Osamu Nakamura |
0:7cc000799c93 | 374 | TRACE(ENTER "htonl(hostlong=0x%08lX)", hostlong); |
Osamu Nakamura |
0:7cc000799c93 | 375 | uint32_t rc = posix::sock::htonl( hostlong ); |
Osamu Nakamura |
0:7cc000799c93 | 376 | TRACE(LEAVE "htonl(hostlong=0x%08lX) = 0x%08lX", hostlong, rc); |
Osamu Nakamura |
0:7cc000799c93 | 377 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 378 | } |
Osamu Nakamura |
0:7cc000799c93 | 379 | |
Osamu Nakamura |
0:7cc000799c93 | 380 | uint16_t P4(htons)(uint16_t hostshort) |
Osamu Nakamura |
0:7cc000799c93 | 381 | { |
Osamu Nakamura |
0:7cc000799c93 | 382 | TRACE(ENTER "htons(hostshort=0x%04X)", hostshort); |
Osamu Nakamura |
0:7cc000799c93 | 383 | uint16_t rc = posix::sock::htons( hostshort ); |
Osamu Nakamura |
0:7cc000799c93 | 384 | TRACE(LEAVE "htons(hostshort=0x%04X) = 0x%04X", hostshort, rc); |
Osamu Nakamura |
0:7cc000799c93 | 385 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 386 | } |
Osamu Nakamura |
0:7cc000799c93 | 387 | |
Osamu Nakamura |
0:7cc000799c93 | 388 | unsigned int P4(if_nametoindex)(const char* ifname) |
Osamu Nakamura |
0:7cc000799c93 | 389 | { |
Osamu Nakamura |
0:7cc000799c93 | 390 | TRACE(ENTER "if_nametoindex(ifname={%s})", safe_str(ifname)); |
Osamu Nakamura |
0:7cc000799c93 | 391 | unsigned int rc = posix::sock::if_nametoindex( ifname ); |
Osamu Nakamura |
0:7cc000799c93 | 392 | TRACE(LEAVE "if_nametoindex(ifname={%s}) = %u(errno:%d)", safe_str(ifname), rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 393 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 394 | } |
Osamu Nakamura |
0:7cc000799c93 | 395 | |
Osamu Nakamura |
0:7cc000799c93 | 396 | int P4(listen)(int sockfd, int backlog) |
Osamu Nakamura |
0:7cc000799c93 | 397 | { |
Osamu Nakamura |
0:7cc000799c93 | 398 | TRACE(ENTER "listen(sockfd=%d, backlog=%d)", sockfd, backlog); |
Osamu Nakamura |
0:7cc000799c93 | 399 | int rc = posix::sock::listen( sockfd, backlog ); |
Osamu Nakamura |
0:7cc000799c93 | 400 | TRACE(LEAVE "listen(sockfd=%d, backlog=%d) = %d(errno:%d)", sockfd, backlog, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 401 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 402 | } |
Osamu Nakamura |
0:7cc000799c93 | 403 | |
Osamu Nakamura |
0:7cc000799c93 | 404 | uint16_t P4(ntohs)(uint16_t netshort) |
Osamu Nakamura |
0:7cc000799c93 | 405 | { |
Osamu Nakamura |
0:7cc000799c93 | 406 | TRACE(ENTER "ntohs(netshort=0x%04X)", netshort); |
Osamu Nakamura |
0:7cc000799c93 | 407 | uint16_t rc = posix::sock::ntohs( netshort ); |
Osamu Nakamura |
0:7cc000799c93 | 408 | TRACE(LEAVE "ntohs(netshort=0x%04X) = 0x%04X", netshort, rc); |
Osamu Nakamura |
0:7cc000799c93 | 409 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 410 | } |
Osamu Nakamura |
0:7cc000799c93 | 411 | |
Osamu Nakamura |
0:7cc000799c93 | 412 | P4(ssize_t) P4(recvmsg)(int sockfd, struct P4(msghdr)* msg, int flags) |
Osamu Nakamura |
0:7cc000799c93 | 413 | { |
Osamu Nakamura |
0:7cc000799c93 | 414 | TRACE(ENTER "recvmsg(sockfd=%d, msg=%p, flags=%d)", sockfd, msg, flags); |
Osamu Nakamura |
0:7cc000799c93 | 415 | P4(ssize_t) rc = posix::sock::recvmsg( sockfd, msg, flags ); |
Osamu Nakamura |
0:7cc000799c93 | 416 | TRACE(LEAVE "recvmsg(sockfd=%d, msg=%p, flags=%d) = %d(errno:%d)", sockfd, msg, flags, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 417 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 418 | } |
Osamu Nakamura |
0:7cc000799c93 | 419 | |
Osamu Nakamura |
0:7cc000799c93 | 420 | P4(ssize_t) P4(sendmsg)(int sockfd, const struct P4(msghdr)* msg, int flags) |
Osamu Nakamura |
0:7cc000799c93 | 421 | { |
Osamu Nakamura |
0:7cc000799c93 | 422 | TRACE(ENTER "sendmsg(sockfd=%d, msg=%p, flags=%d)", sockfd, msg, flags); |
Osamu Nakamura |
0:7cc000799c93 | 423 | P4(ssize_t) rc = posix::sock::sendmsg( sockfd, msg, flags ); |
Osamu Nakamura |
0:7cc000799c93 | 424 | TRACE(LEAVE "sendmsg(sockfd=%d, msg=%p, flags=%d) = %d(errno:%d)", sockfd, msg, flags, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 425 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 426 | } |
Osamu Nakamura |
0:7cc000799c93 | 427 | |
Osamu Nakamura |
0:7cc000799c93 | 428 | int P4(setsockopt)(int sockfd, int level, int optname, const void* optval, P4(socklen_t) optlen) |
Osamu Nakamura |
0:7cc000799c93 | 429 | { |
Osamu Nakamura |
0:7cc000799c93 | 430 | TRACE(ENTER "setsockopt(sockfd=%d, level=%d, optname=%d, optval=%p, optlen=%lu)", sockfd, level, optname, optval, optlen); |
Osamu Nakamura |
0:7cc000799c93 | 431 | int rc = posix::sock::setsockopt( sockfd, level, optname, optval, optlen ); |
Osamu Nakamura |
0:7cc000799c93 | 432 | TRACE(LEAVE "setsockopt(sockfd=%d, level=%d, optname=%d, optval=%p, optlen=%lu) = %d(errno:%d)", sockfd, level, optname, optval, optlen, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 433 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 434 | } |
Osamu Nakamura |
0:7cc000799c93 | 435 | |
Osamu Nakamura |
0:7cc000799c93 | 436 | int P4(shutdown)(int sockfd, int how) |
Osamu Nakamura |
0:7cc000799c93 | 437 | { |
Osamu Nakamura |
0:7cc000799c93 | 438 | TRACE(ENTER "shutdown(sockfd=%d, how=%d)", sockfd, how); |
Osamu Nakamura |
0:7cc000799c93 | 439 | int rc = posix::sock::shutdown( sockfd, how ); |
Osamu Nakamura |
0:7cc000799c93 | 440 | TRACE(LEAVE "shutdown(sockfd=%d, how=%d) = %d(errno:%d)", sockfd, how, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 441 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 442 | } |
Osamu Nakamura |
0:7cc000799c93 | 443 | |
Osamu Nakamura |
0:7cc000799c93 | 444 | int P4(socket)(int domain, int type, int protocol) |
Osamu Nakamura |
0:7cc000799c93 | 445 | { |
Osamu Nakamura |
0:7cc000799c93 | 446 | TRACE(ENTER "socket(domain=%d, type=%d, protocol=%d)", domain, type, protocol); |
Osamu Nakamura |
0:7cc000799c93 | 447 | int rc = posix::sock::socket( domain, type, protocol ); |
Osamu Nakamura |
0:7cc000799c93 | 448 | TRACE(LEAVE "socket(domain=%d, type=%d, protocol=%d) = %d(errno:%d)", domain, type, protocol, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 449 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 450 | } |
Osamu Nakamura |
0:7cc000799c93 | 451 | |
Osamu Nakamura |
0:7cc000799c93 | 452 | int P4(nanosleep)(const struct P4(timespec)* req, struct P4(timespec)* rem) |
Osamu Nakamura |
0:7cc000799c93 | 453 | { |
Osamu Nakamura |
0:7cc000799c93 | 454 | return posix::sys::nanosleep( req, rem ); |
Osamu Nakamura |
0:7cc000799c93 | 455 | } |
Osamu Nakamura |
0:7cc000799c93 | 456 | |
Osamu Nakamura |
0:7cc000799c93 | 457 | int P4(pipe)(int pipefd[2]) |
Osamu Nakamura |
0:7cc000799c93 | 458 | { |
Osamu Nakamura |
0:7cc000799c93 | 459 | TRACE(ENTER "pipe(pipefd[2]=[%d,%d])", pipefd[0], pipefd[1]); |
Osamu Nakamura |
0:7cc000799c93 | 460 | int rc = posix::sys::pipe( pipefd ); |
Osamu Nakamura |
0:7cc000799c93 | 461 | TRACE(LEAVE "pipe(pipefd[2]=[%d,%d]) = %d(errno:%d)", pipefd[0], pipefd[1], rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 462 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 463 | } |
Osamu Nakamura |
0:7cc000799c93 | 464 | |
Osamu Nakamura |
0:7cc000799c93 | 465 | long P4(sysconf)(int name) |
Osamu Nakamura |
0:7cc000799c93 | 466 | { |
Osamu Nakamura |
0:7cc000799c93 | 467 | TRACE(ENTER "sysconf(name=%d)", name); |
Osamu Nakamura |
0:7cc000799c93 | 468 | long rc = posix::sys::sysconf( name ); |
Osamu Nakamura |
0:7cc000799c93 | 469 | TRACE(LEAVE "sysconf(name=%d) = %ld(errno:%d)", name, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 470 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 471 | } |
Osamu Nakamura |
0:7cc000799c93 | 472 | |
Osamu Nakamura |
0:7cc000799c93 | 473 | |
Osamu Nakamura |
0:7cc000799c93 | 474 | P4(ssize_t) P4(preadv)(int fd, const struct P4(iovec)* iov, int iovcnt, P4(off_t) offset) |
Osamu Nakamura |
0:7cc000799c93 | 475 | { |
Osamu Nakamura |
0:7cc000799c93 | 476 | TRACE(ENTER "preadv(fd=%d, iov=%p, iovcnt=%d, offset=%ld)", fd, iov, iovcnt, offset); |
Osamu Nakamura |
0:7cc000799c93 | 477 | P4(ssize_t) rc = linux::preadv( fd, iov, iovcnt, offset ); |
Osamu Nakamura |
0:7cc000799c93 | 478 | TRACE(LEAVE "preadv(fd=%d, iov=%p, iovcnt=%d, offset=%ld) = %d(errno:%d)", fd, iov, iovcnt, offset, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 479 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 480 | } |
Osamu Nakamura |
0:7cc000799c93 | 481 | |
Osamu Nakamura |
0:7cc000799c93 | 482 | P4(ssize_t) P4(pwritev)(int fd, const struct P4(iovec)* iov, int iovcnt, P4(off_t) offset) |
Osamu Nakamura |
0:7cc000799c93 | 483 | { |
Osamu Nakamura |
0:7cc000799c93 | 484 | TRACE(ENTER "pwritev(fd=%d, iov=%p, iovcnt=%d, offset=%ld)", fd, iov, iovcnt, offset); |
Osamu Nakamura |
0:7cc000799c93 | 485 | P4(ssize_t) rc = linux::pwritev( fd, iov, iovcnt, offset ); |
Osamu Nakamura |
0:7cc000799c93 | 486 | TRACE(LEAVE "pwritev(fd=%d, iov=%p, iovcnt=%d, offset=%ld) = %d(errno:%d)", fd, iov, iovcnt, offset, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 487 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 488 | } |
Osamu Nakamura |
0:7cc000799c93 | 489 | |
Osamu Nakamura |
0:7cc000799c93 | 490 | int P4(epoll_create)(int size) |
Osamu Nakamura |
0:7cc000799c93 | 491 | { |
Osamu Nakamura |
0:7cc000799c93 | 492 | TRACE(ENTER "epoll_create(size=%d)", size); |
Osamu Nakamura |
0:7cc000799c93 | 493 | int rc = linux::epoll::create( size ); |
Osamu Nakamura |
0:7cc000799c93 | 494 | TRACE(LEAVE "epoll_create(size=%d) = %d(errno:%d)", size, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 495 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 496 | } |
Osamu Nakamura |
0:7cc000799c93 | 497 | |
Osamu Nakamura |
0:7cc000799c93 | 498 | int P4(epoll_create1)(int flags) |
Osamu Nakamura |
0:7cc000799c93 | 499 | { |
Osamu Nakamura |
0:7cc000799c93 | 500 | TRACE(ENTER "epoll_create1(flags=0x%08X)", flags); |
Osamu Nakamura |
0:7cc000799c93 | 501 | int rc = linux::epoll::create1( flags ); |
Osamu Nakamura |
0:7cc000799c93 | 502 | TRACE(LEAVE "epoll_create1(flags=0x%08X) = %d(errno:%d)", flags, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 503 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 504 | } |
Osamu Nakamura |
0:7cc000799c93 | 505 | |
Osamu Nakamura |
0:7cc000799c93 | 506 | int P4(epoll_ctl)(int epfd, int op, int fd, struct P4(poll_event)* event) |
Osamu Nakamura |
0:7cc000799c93 | 507 | { |
Osamu Nakamura |
0:7cc000799c93 | 508 | TRACE(ENTER "epoll_ctl(epfd=%d, op=%d, fd=%d, event=%p{0x%08lX})", epfd, op, fd, event, event->events); |
Osamu Nakamura |
0:7cc000799c93 | 509 | int rc = linux::epoll::ctl( epfd, op, fd, event ); |
Osamu Nakamura |
0:7cc000799c93 | 510 | TRACE(LEAVE "epoll_ctl(epfd=%d, op=%d, fd=%d, event=%p) = %d(errno:%d)", epfd, op, fd, event, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 511 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 512 | } |
Osamu Nakamura |
0:7cc000799c93 | 513 | |
Osamu Nakamura |
0:7cc000799c93 | 514 | int P4(epoll_pwait)(int epfd, struct P4(poll_event)* events, int maxevents, int timeout, const P4(sigset_t)* sigmask) |
Osamu Nakamura |
0:7cc000799c93 | 515 | { |
Osamu Nakamura |
0:7cc000799c93 | 516 | TRACE(ENTER "epoll_pwait(epfd=%d, events=%p, maxevents=%d, timeout=%d, sigmask=%p)", epfd, events, maxevents, timeout, sigmask); |
Osamu Nakamura |
0:7cc000799c93 | 517 | int rc = linux::epoll::pwait( epfd, events, maxevents, timeout, sigmask ); |
Osamu Nakamura |
0:7cc000799c93 | 518 | TRACE(LEAVE "epoll_pwait(epfd=%d, events=%p, maxevents=%d, timeout=%d, sigmask=%p) = %d(errno:%d)", epfd, events, maxevents, timeout, sigmask, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 519 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 520 | } |
Osamu Nakamura |
0:7cc000799c93 | 521 | |
Osamu Nakamura |
0:7cc000799c93 | 522 | int P4(epoll_wait)(int epfd, struct P4(poll_event)* events, int maxevents, int timeout) |
Osamu Nakamura |
0:7cc000799c93 | 523 | { |
Osamu Nakamura |
0:7cc000799c93 | 524 | TRACE(ENTER "epoll_wait(epfd=%d, events=%p, maxevents=%d, timeout=%d)", epfd, events, maxevents, timeout); |
Osamu Nakamura |
0:7cc000799c93 | 525 | int rc = linux::epoll::wait( epfd, events, maxevents, timeout ); |
Osamu Nakamura |
0:7cc000799c93 | 526 | TRACE(LEAVE "epoll_wait(epfd=%d, events=%p, maxevents=%d, timeout=%d) = %d(errno:%d)", epfd, events, maxevents, timeout, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 527 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 528 | } |
Osamu Nakamura |
0:7cc000799c93 | 529 | |
Osamu Nakamura |
0:7cc000799c93 | 530 | int P4(eventfd)(unsigned int initval, int flags) |
Osamu Nakamura |
0:7cc000799c93 | 531 | { |
Osamu Nakamura |
0:7cc000799c93 | 532 | TRACE(ENTER "eventfd(initval=%u, flags=%d)", initval, flags); |
Osamu Nakamura |
0:7cc000799c93 | 533 | int rc = linux::epoll::eventfd( initval, flags ); |
Osamu Nakamura |
0:7cc000799c93 | 534 | TRACE(LEAVE "eventfd(initval=%u, flags=%d) = %d(errno:%d)", initval, flags, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 535 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 536 | } |
Osamu Nakamura |
0:7cc000799c93 | 537 | |
Osamu Nakamura |
0:7cc000799c93 | 538 | int P4(eventfd2)(unsigned int initval, int flags) |
Osamu Nakamura |
0:7cc000799c93 | 539 | { |
Osamu Nakamura |
0:7cc000799c93 | 540 | TRACE(ENTER "eventfd2(initval=%u, flags=0x%08X)", initval, flags); |
Osamu Nakamura |
0:7cc000799c93 | 541 | int rc = linux::epoll::eventfd2( initval, flags ); |
Osamu Nakamura |
0:7cc000799c93 | 542 | TRACE(LEAVE "eventfd2(initval=%u, flags=0x%08X) = %d(errno:%d)", initval, flags, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 543 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 544 | } |
Osamu Nakamura |
0:7cc000799c93 | 545 | |
Osamu Nakamura |
0:7cc000799c93 | 546 | int P4(accept4)(int fd, struct P4(sockaddr)* addr, P4(socklen_t)* addr_len, int flags) |
Osamu Nakamura |
0:7cc000799c93 | 547 | { |
Osamu Nakamura |
0:7cc000799c93 | 548 | TRACE(ENTER "accept4(fd=%d, addr=%p, addr_len=%p, flags=%d)", fd, addr, addr_len, flags); |
Osamu Nakamura |
0:7cc000799c93 | 549 | int rc = linux::sock::accept4( fd, addr, addr_len, flags ); |
Osamu Nakamura |
0:7cc000799c93 | 550 | TRACE(LEAVE "accept4(fd=%d, addr=%p, addr_len=%p, flags=%d) = %d(errno:%d)", fd, addr, addr_len, flags, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 551 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 552 | } |
Osamu Nakamura |
0:7cc000799c93 | 553 | |
Osamu Nakamura |
0:7cc000799c93 | 554 | int P4(socketcall)(int call, unsigned long* args) |
Osamu Nakamura |
0:7cc000799c93 | 555 | { |
Osamu Nakamura |
0:7cc000799c93 | 556 | TRACE(ENTER "socketcall(call=%d, args=%p)", call, args); |
Osamu Nakamura |
0:7cc000799c93 | 557 | int rc = linux::sock::socketcall( call, args ); |
Osamu Nakamura |
0:7cc000799c93 | 558 | TRACE(LEAVE "socketcall(call=%d, args=%p) = %d(errno:%d)", call, args, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 559 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 560 | } |
Osamu Nakamura |
0:7cc000799c93 | 561 | |
Osamu Nakamura |
0:7cc000799c93 | 562 | int P4(ioctl)(int fd, unsigned long request, ...) |
Osamu Nakamura |
0:7cc000799c93 | 563 | { |
Osamu Nakamura |
0:7cc000799c93 | 564 | TRACE(ENTER "ioctl(fd=%d, request=0x%08lX, ...)", fd, request); |
Osamu Nakamura |
0:7cc000799c93 | 565 | va_list args; |
Osamu Nakamura |
0:7cc000799c93 | 566 | va_start( args, request ); |
Osamu Nakamura |
0:7cc000799c93 | 567 | int rc = linux::sys::ioctl( fd, request, args ); |
Osamu Nakamura |
0:7cc000799c93 | 568 | va_end( args ); |
Osamu Nakamura |
0:7cc000799c93 | 569 | TRACE(LEAVE "ioctl(fd=%d, request=0x%08lX, ...) = %d(errno:%d)", fd, request, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 570 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 571 | } |
Osamu Nakamura |
0:7cc000799c93 | 572 | |
Osamu Nakamura |
0:7cc000799c93 | 573 | long P4(syscall)(long number, ...) |
Osamu Nakamura |
0:7cc000799c93 | 574 | { |
Osamu Nakamura |
0:7cc000799c93 | 575 | TRACE(ENTER "syscall(number=%ld, ...)", number); |
Osamu Nakamura |
0:7cc000799c93 | 576 | va_list args; |
Osamu Nakamura |
0:7cc000799c93 | 577 | va_start( args, number ); |
Osamu Nakamura |
0:7cc000799c93 | 578 | long rc = linux::sys::syscall( number, args ); |
Osamu Nakamura |
0:7cc000799c93 | 579 | va_end( args ); |
Osamu Nakamura |
0:7cc000799c93 | 580 | TRACE(LEAVE "syscall(number=%ld, ...) = %ld(errno:%d)", number, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 581 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 582 | } |
Osamu Nakamura |
0:7cc000799c93 | 583 | |
Osamu Nakamura |
0:7cc000799c93 | 584 | int P4(pipe2)(int pipefd[2], int flags) |
Osamu Nakamura |
0:7cc000799c93 | 585 | { |
Osamu Nakamura |
0:7cc000799c93 | 586 | TRACE(ENTER "pipe2(pipefd[]=[%d, %d], flags=%d)", pipefd[0], pipefd[1], flags); |
Osamu Nakamura |
0:7cc000799c93 | 587 | int rc = linux::sys::pipe2( pipefd, flags ); |
Osamu Nakamura |
0:7cc000799c93 | 588 | TRACE(LEAVE "pipe2(pipefd[]=[%d, %d], flags=%d) = %d(errno:%d)", pipefd[0], pipefd[1], flags, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 589 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 590 | } |
Osamu Nakamura |
0:7cc000799c93 | 591 | |
Osamu Nakamura |
0:7cc000799c93 | 592 | void* P4(dlopen)(const char* filename, int flag) |
Osamu Nakamura |
0:7cc000799c93 | 593 | { |
Osamu Nakamura |
0:7cc000799c93 | 594 | TRACE(ENTER "dlopen(filename=%s, flag=%d)", safe_str(filename), flag); |
Osamu Nakamura |
0:7cc000799c93 | 595 | void* rc = linux::sys::dlopen( filename, flag ); |
Osamu Nakamura |
0:7cc000799c93 | 596 | TRACE(ENTER "dlopen(filename=%s, flag=%d) = %p", safe_str(filename), flag, rc); |
Osamu Nakamura |
0:7cc000799c93 | 597 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 598 | } |
Osamu Nakamura |
0:7cc000799c93 | 599 | |
Osamu Nakamura |
0:7cc000799c93 | 600 | void* P4(dlsym)(void* handle, char* symbol) |
Osamu Nakamura |
0:7cc000799c93 | 601 | { |
Osamu Nakamura |
0:7cc000799c93 | 602 | TRACE(ENTER "dlsym(handle=%p, symbol=%s)", handle, safe_str(symbol)); |
Osamu Nakamura |
0:7cc000799c93 | 603 | void* rc = linux::sys::dlsym( handle, symbol ); |
Osamu Nakamura |
0:7cc000799c93 | 604 | TRACE(ENTER "dlsym(handle=%p, symbol=%s) = %p", handle, safe_str(symbol), rc); |
Osamu Nakamura |
0:7cc000799c93 | 605 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 606 | } |
Osamu Nakamura |
0:7cc000799c93 | 607 | |
Osamu Nakamura |
0:7cc000799c93 | 608 | int P4(dlclose)(void* handle) |
Osamu Nakamura |
0:7cc000799c93 | 609 | { |
Osamu Nakamura |
0:7cc000799c93 | 610 | TRACE(ENTER "dlclose(handle=%p)", handle); |
Osamu Nakamura |
0:7cc000799c93 | 611 | int rc = linux::sys::dlclose( handle ); |
Osamu Nakamura |
0:7cc000799c93 | 612 | TRACE(ENTER "dlclose(handle=%p) = %d", handle, rc); |
Osamu Nakamura |
0:7cc000799c93 | 613 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 614 | } |
Osamu Nakamura |
0:7cc000799c93 | 615 | |
Osamu Nakamura |
0:7cc000799c93 | 616 | char** P4(backtrace_symbols)(void*const* buffer, int size) |
Osamu Nakamura |
0:7cc000799c93 | 617 | { |
Osamu Nakamura |
0:7cc000799c93 | 618 | TRACE(ENTER "backtrace_symbols(buffer=%p, size=%d)", buffer, size); |
Osamu Nakamura |
0:7cc000799c93 | 619 | char** rc = linux::debug::backtrace_symbols( buffer, size ); |
Osamu Nakamura |
0:7cc000799c93 | 620 | TRACE(LEAVE "backtrace_symbols(buffer=%p, size=%d) = %p", buffer, size, rc); |
Osamu Nakamura |
0:7cc000799c93 | 621 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 622 | } |
Osamu Nakamura |
0:7cc000799c93 | 623 | |
Osamu Nakamura |
0:7cc000799c93 | 624 | int P4(backtrace)(void** buffer, int size) |
Osamu Nakamura |
0:7cc000799c93 | 625 | { |
Osamu Nakamura |
0:7cc000799c93 | 626 | TRACE(ENTER "backtrace(buffer=%p, size=%d)", buffer, size); |
Osamu Nakamura |
0:7cc000799c93 | 627 | int rc = linux::debug::backtrace( buffer, size ); |
Osamu Nakamura |
0:7cc000799c93 | 628 | TRACE(LEAVE "backtrace(buffer=%p, size=%d) = %d", buffer, size, rc); |
Osamu Nakamura |
0:7cc000799c93 | 629 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 630 | } |
Osamu Nakamura |
0:7cc000799c93 | 631 | |
Osamu Nakamura |
0:7cc000799c93 | 632 | |
Osamu Nakamura |
0:7cc000799c93 | 633 | void P4(abort)(void) |
Osamu Nakamura |
0:7cc000799c93 | 634 | { |
Osamu Nakamura |
0:7cc000799c93 | 635 | TRACE(INFO "abort called from [%p]", CALLED_FROM); |
Osamu Nakamura |
0:7cc000799c93 | 636 | overridden::abort(); |
Osamu Nakamura |
0:7cc000799c93 | 637 | } |
Osamu Nakamura |
0:7cc000799c93 | 638 | |
Osamu Nakamura |
0:7cc000799c93 | 639 | int P4(gettimeofday)(struct P4(timeval)* tv, void* tz) |
Osamu Nakamura |
0:7cc000799c93 | 640 | { |
Osamu Nakamura |
0:7cc000799c93 | 641 | TRACE(ENTER "overridden_gettimeofday(tv=%d, tz=%p)", tv, tz); |
Osamu Nakamura |
0:7cc000799c93 | 642 | int rc = overridden::gettimeofday( tv, tz ); |
Osamu Nakamura |
0:7cc000799c93 | 643 | TRACE(LEAVE "overridden_gettimeofday(tv=%d, tz=%p) = %d(errno:%d)", tv, tz, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 644 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 645 | } |
Osamu Nakamura |
0:7cc000799c93 | 646 | |
Osamu Nakamura |
0:7cc000799c93 | 647 | P4(ssize_t) P4(read)(int fd, void* buf, P4(size_t) count) |
Osamu Nakamura |
0:7cc000799c93 | 648 | { |
Osamu Nakamura |
0:7cc000799c93 | 649 | TRACE(ENTER "overridden_read(fd=%d, buf=%p, count=%u)", fd, buf, count); |
Osamu Nakamura |
0:7cc000799c93 | 650 | P4(ssize_t) rc = overridden::read( fd, buf, count ); |
Osamu Nakamura |
0:7cc000799c93 | 651 | TRACE(LEAVE "overridden_read(fd=%d, buf=%p, count=%u) = %d(errno:%d)", fd, buf, count, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 652 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 653 | } |
Osamu Nakamura |
0:7cc000799c93 | 654 | |
Osamu Nakamura |
0:7cc000799c93 | 655 | P4(ssize_t) P4(write)(int fd, const void* buf, P4(size_t) count) |
Osamu Nakamura |
0:7cc000799c93 | 656 | { |
Osamu Nakamura |
0:7cc000799c93 | 657 | TRACE(ENTER "overridden_write(fd=%d, buf=%p, count=%u)", fd, buf, count); |
Osamu Nakamura |
0:7cc000799c93 | 658 | P4(ssize_t) rc = overridden::write( fd, buf, count ); |
Osamu Nakamura |
0:7cc000799c93 | 659 | TRACE(LEAVE "overridden_write(fd=%d, buf=%p, count=%u) = %d(errno:%d)", fd, buf, count, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 660 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 661 | } |
Osamu Nakamura |
0:7cc000799c93 | 662 | |
Osamu Nakamura |
0:7cc000799c93 | 663 | int P4(open)(const char* pathname, ...) |
Osamu Nakamura |
0:7cc000799c93 | 664 | { |
Osamu Nakamura |
0:7cc000799c93 | 665 | TRACE(ENTER "overridden_open(pathname=%s, ...)", safe_str(pathname)); |
Osamu Nakamura |
0:7cc000799c93 | 666 | va_list args; |
Osamu Nakamura |
0:7cc000799c93 | 667 | va_start( args, pathname ); |
Osamu Nakamura |
0:7cc000799c93 | 668 | int rc = overridden::open( pathname, args ); |
Osamu Nakamura |
0:7cc000799c93 | 669 | va_end( args ); |
Osamu Nakamura |
0:7cc000799c93 | 670 | TRACE(LEAVE "overridden_open(pathname=%s, ...) = %d(errno:%d)", safe_str(pathname), rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 671 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 672 | } |
Osamu Nakamura |
0:7cc000799c93 | 673 | |
Osamu Nakamura |
0:7cc000799c93 | 674 | int P4(close)(int fd) |
Osamu Nakamura |
0:7cc000799c93 | 675 | { |
Osamu Nakamura |
0:7cc000799c93 | 676 | TRACE(ENTER "overridden_close(fd=%d)", fd); |
Osamu Nakamura |
0:7cc000799c93 | 677 | int rc = overridden::close( fd ); |
Osamu Nakamura |
0:7cc000799c93 | 678 | TRACE(LEAVE "overridden_close(fd=%d) = %d(errno:%d)", fd, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 679 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 680 | } |
Osamu Nakamura |
0:7cc000799c93 | 681 | |
Osamu Nakamura |
0:7cc000799c93 | 682 | int P4(unlink)(const char* pathname) |
Osamu Nakamura |
0:7cc000799c93 | 683 | { |
Osamu Nakamura |
0:7cc000799c93 | 684 | TRACE(ENTER "overridden_unlink(pathname=%s)", safe_str(pathname)); |
Osamu Nakamura |
0:7cc000799c93 | 685 | int rc = overridden::unlink( pathname ); |
Osamu Nakamura |
0:7cc000799c93 | 686 | TRACE(LEAVE "overridden_unlink(pathname=%s) = %d(errno:%d)", safe_str(pathname), rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 687 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 688 | } |
Osamu Nakamura |
0:7cc000799c93 | 689 | |
Osamu Nakamura |
0:7cc000799c93 | 690 | int P4(mkdir)(const char* pathname, P4(mode_t) mode) |
Osamu Nakamura |
0:7cc000799c93 | 691 | { |
Osamu Nakamura |
0:7cc000799c93 | 692 | TRACE(ENTER "overridden_mkdir(pathname=%s, mode=0x%04X)", safe_str(pathname), mode); |
Osamu Nakamura |
0:7cc000799c93 | 693 | int rc = overridden::mkdir( pathname, mode ); |
Osamu Nakamura |
0:7cc000799c93 | 694 | TRACE(LEAVE "overridden_mkdir(pathname=%s, mode=0x%04X) = %d(errno:%d)", safe_str(pathname), mode, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 695 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 696 | } |
Osamu Nakamura |
0:7cc000799c93 | 697 | |
Osamu Nakamura |
0:7cc000799c93 | 698 | int P4(rmdir)(const char* pathname) |
Osamu Nakamura |
0:7cc000799c93 | 699 | { |
Osamu Nakamura |
0:7cc000799c93 | 700 | TRACE(ENTER "overridden_rmdir(pathname=%s)", safe_str(pathname)); |
Osamu Nakamura |
0:7cc000799c93 | 701 | int rc = overridden::rmdir( pathname ); |
Osamu Nakamura |
0:7cc000799c93 | 702 | TRACE(LEAVE "overridden_rmdir(pathname=%s) = %d(errno:%d)", safe_str(pathname), rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 703 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 704 | } |
Osamu Nakamura |
0:7cc000799c93 | 705 | |
Osamu Nakamura |
0:7cc000799c93 | 706 | int P4(stat)(const char* pathname, P4(stat_t)* buf) |
Osamu Nakamura |
0:7cc000799c93 | 707 | { |
Osamu Nakamura |
0:7cc000799c93 | 708 | TRACE(ENTER "overridden_stat(pathname=%s, buf=%p)", safe_str(pathname), buf); |
Osamu Nakamura |
0:7cc000799c93 | 709 | int rc = overridden::stat( pathname, buf ); |
Osamu Nakamura |
0:7cc000799c93 | 710 | TRACE(LEAVE "overridden_stat(pathname=%s, buf=%p) = %d(errno:%d)", safe_str(pathname), buf, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 711 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 712 | } |
Osamu Nakamura |
0:7cc000799c93 | 713 | |
Osamu Nakamura |
0:7cc000799c93 | 714 | int P4(fstat)(int fd, P4(stat_t)* buf) |
Osamu Nakamura |
0:7cc000799c93 | 715 | { |
Osamu Nakamura |
0:7cc000799c93 | 716 | TRACE(ENTER "overridden_fstat(fd=%d, buf=%p)", fd, buf); |
Osamu Nakamura |
0:7cc000799c93 | 717 | int rc = overridden::fstat( fd, buf ); |
Osamu Nakamura |
0:7cc000799c93 | 718 | TRACE(LEAVE "overridden_fstat(fd=%d, buf=%p) = %d(errno:%d)", fd, buf, rc, errno); |
Osamu Nakamura |
0:7cc000799c93 | 719 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 720 | } |
Osamu Nakamura |
0:7cc000799c93 | 721 | |
Osamu Nakamura |
0:7cc000799c93 | 722 | |
Osamu Nakamura |
0:7cc000799c93 | 723 | char* P4(nic_enumerate)(void) |
Osamu Nakamura |
0:7cc000799c93 | 724 | { |
Osamu Nakamura |
0:7cc000799c93 | 725 | TRACE(ENTER "nic_enumerate()"); |
Osamu Nakamura |
0:7cc000799c93 | 726 | char* rc = nic::enumerate(); |
Osamu Nakamura |
0:7cc000799c93 | 727 | TRACE(LEAVE "nic_enumerate() = {%s}", safe_str(rc)); |
Osamu Nakamura |
0:7cc000799c93 | 728 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 729 | } |
Osamu Nakamura |
0:7cc000799c93 | 730 | |
Osamu Nakamura |
0:7cc000799c93 | 731 | int P4(nic_ifup)(const char* nic, const char* params) |
Osamu Nakamura |
0:7cc000799c93 | 732 | { |
Osamu Nakamura |
0:7cc000799c93 | 733 | TRACE(ENTER "nic_ifup(nic={%s}, params={%s})", safe_str(nic), safe_str(params)); |
Osamu Nakamura |
0:7cc000799c93 | 734 | int rc = nic::ifup( nic, params ); |
Osamu Nakamura |
0:7cc000799c93 | 735 | TRACE(LEAVE "nic_ifup(nic={%s}, params={%s}) = %d", safe_str(nic), safe_str(params), rc); |
Osamu Nakamura |
0:7cc000799c93 | 736 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 737 | } |
Osamu Nakamura |
0:7cc000799c93 | 738 | |
Osamu Nakamura |
0:7cc000799c93 | 739 | int P4(nic_ifdown)(const char* nic) |
Osamu Nakamura |
0:7cc000799c93 | 740 | { |
Osamu Nakamura |
0:7cc000799c93 | 741 | TRACE(ENTER "nic_ifdown(nic={%s})", safe_str(nic)); |
Osamu Nakamura |
0:7cc000799c93 | 742 | int rc = nic::ifdown( nic ); |
Osamu Nakamura |
0:7cc000799c93 | 743 | TRACE(LEAVE "nic_ifdown(nic={%s}) = %d", safe_str(nic), rc); |
Osamu Nakamura |
0:7cc000799c93 | 744 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 745 | } |
Osamu Nakamura |
0:7cc000799c93 | 746 | |
Osamu Nakamura |
0:7cc000799c93 | 747 | char* P4(nic_ifconfig)(const char* nic) |
Osamu Nakamura |
0:7cc000799c93 | 748 | { |
Osamu Nakamura |
0:7cc000799c93 | 749 | TRACE(ENTER "nic_ifconfig(nic={%s})", safe_str(nic)); |
Osamu Nakamura |
0:7cc000799c93 | 750 | char* rc = nic::ifconfig( nic ); |
Osamu Nakamura |
0:7cc000799c93 | 751 | TRACE(LEAVE "nic_ifconfig(nic={%s}) = {%s}", safe_str(nic), safe_str(rc)); |
Osamu Nakamura |
0:7cc000799c93 | 752 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 753 | } |
Osamu Nakamura |
0:7cc000799c93 | 754 | |
Osamu Nakamura |
0:7cc000799c93 | 755 | int P4(nic_ntpdate)(const char* nic, const char* server, int port, int timeout) |
Osamu Nakamura |
0:7cc000799c93 | 756 | { |
Osamu Nakamura |
0:7cc000799c93 | 757 | TRACE(ENTER "nic_ntpdate(nic={%s}, server={%s}, port=%d, timeout=%d)", safe_str(nic), safe_str(server), port, timeout); |
Osamu Nakamura |
0:7cc000799c93 | 758 | int rc = nic::ntpdate( nic, server, port, timeout ); |
Osamu Nakamura |
0:7cc000799c93 | 759 | TRACE(LEAVE "nic_ntpdate(nic={%s}, server={%s}, port=%d, timeout=%d) = %d", safe_str(nic), safe_str(server), port, timeout, rc); |
Osamu Nakamura |
0:7cc000799c93 | 760 | return rc; |
Osamu Nakamura |
0:7cc000799c93 | 761 | } |
Osamu Nakamura |
0:7cc000799c93 | 762 |