$ZKey

ソケットデバイスの場合:

$ZKEY には、使用する準備が可能な現在のSOCKETデバイス内のソケットのリストが含まれています。その内容には、選択されていないが、以前のWRITE /WAITのソケットとGT.Mバッファの未読データのソケットの両方が含まれます。$ZKEY は、SOCKETデバイスが最新のときはいつでも使用できます。WRITE /WAITまたは USE socdev:socket="listeningsocket" によって選択されることによって、着信ソケット(つまり、 "LISTENING")が受け入れられると、それは $ZKEYから削除されます。

$ZKEY には、次のいずれかの値が含まれます:

"LISTENING|<listening_socket_handle>|{<portnumber>|</path/to/LOCAL_socket>}"
"READ|<socket_handle>|<address>"

$ZKEYに1つ以上の "READ|<socket_handle>|<address>" エントリが含まれている場合は、WRITE /WAITによって選択されたREADソケットを準備できているか、または部分的に読み込まれてバッファにデータが残っていることを意味します。各エントリは ";" で区切られています。

$ZKEYに "LISTENING|<listening_socket_handle>|{<portnumber|/path/to/LOCAL_socket>}" エントリが1つ以上含まれている場合、、、保留中の接続があり、USE s:socket=listening_socket_handle は保留中の接続を受け入れ、$ZKEYからLISTENING|<listening_socket_handle> エントリを削除します。

$ZKEYは、ソケットにバッファ内のデータがなく、以前のWRITE /WAIT からの受け入れられていない着信ソケットがない場合は、空です。

シーケンシャル・ファイル・デバイスの場合:

$ZKEY には、最後のREADに基づいてファイル内の現在の位置が格納されます。これは、STREAMおよびVARIABLE形式の場合はバイト単位で、FIXED形式の場合はレコードのバイト単位です。FIXED形式の場合、SEEKと通常のREADは常にゼロバイト位置を生成します; FIXEDフォーマット操作の$ZKEYの非ゼロバイト位置は、READ # または READ * によって引き起こされる部分的に読み取られたレコードを示します。FIXEDモードでは、$ZKEYに対して返される情報はレコードサイズの関数であり、ファイルがオープンされている間にWIDTHデバイスパラメータを指定してUSEコマンドがレコードサイズを変更すると、$ZKEYオフセットもそれに応じて変更されます; レコードサイズが変更された場合、以前に保存された$ZKEYの値はSEEKでの使用に不適切と思われます。

inserted by FC2 system