raw_shift

Section: WIN SYSTEM (1W)
Updated: 2015.12.28
Index Return to Main Contents
 

名称

raw_shift - RAW 形式データを任意ビット数右シフト  

形式

raw_shift [ -s 4|5|5f ] inkey outkey shmsize bits [ chfile [ logfile ]]

 

解説

raw_shift は、キー  inkey の共有メモリ・セグメントに巡回的に書き込まれている win 形式のデータを読み込み、全チャネルの全サンプルを  bits ビットだけ右シフトして、 キー  outkey で与えられる共有メモリ・セグメントに書き出します。 ただしチャネルファイル  chfile が与えられた場合は、その中にリストされたチャネルのデータだけが シフトして書き出され、それ以外のチャネルは無視されます。 またチャネルファイル名の先頭に '+' を付けたときは、 そのファイルにリストされたチャネルがシフトして書き出され、 それ以外のチャネルはそのまま出力にコピーされます。 さらにチャネルファイル名の先頭に '-' を付けたときは、 そのファイルにリストされたチャネルはそのまま出力にコピーされ、 それ以外のすべてのチャネルはシフトして書き出されます。 キー  outkey をもつ共有メモリ・セグメントが存在しない場合は、大きさ  shmsize  (KB) の共有メモリ・セグメントが作られます。すでに存在している場合は、 そのサイズが  shmsize  (KB) よりも小さいとエラーになります。 共有メモリ・キーは32ビットの整数値です。

ログファイル名  logfile を指定すると、ここに動作ログがとられ、 指定しないとログ情報は標準出力に 送られます。ログファイルは書き込みのたび毎に オープン/クローズされます。

チャネルファイルは、1行に1つずつ、16進数でチャネル番号を書 き並べたテキストファイルです。各行の先頭の項目だけが読まれ、 空白またはタブで区切られた以降の項目は無視されます。また先頭 が '#' である行も無視されます。 raw_shift プロセスは ハングアップシグナルを受け取ると、チャネルファイルを読み直します。

共有メモリ inkey 上の形式は、時間順整列されたもの(order(1W)参照) でもされていないもの(recvt(1W)参照) でもかまいません。共有メモリ outkey の形式は inkey と同じになります。

raw_shift は、引数なしで起動すると簡単な使用法を表示します。

 

オプション

-s mode
書き込みデータのサンプルサイズが 4 バイト の場合のサンプルサイズ情報のモードを指定します。
4 : サンプルサイズ情報を 4 にします。
5 : サンプルサイズ情報を 5 にします。
5f : サンプルサイズが 4 バイト長以外についてもサンプルサイズ情報を 5
     にします。つまり、常に圧縮の無い固定長データとなります。
 

ソース

`raw_shift.c'
 

関連事項

winformat(1W), order(1W), recvt(1W)


 

Index

名称
形式
解説
オプション
ソース
関連事項