websock API        2014/02/26

1. ws_set_log_level/1

   ws_set_log_level(+LEVEL)

   LEVEL: ログレベル(アトムのリスト)

   libwebsocketsのログ出力レベルを指定する。

   使用可能なアトム

     WS_LL_ERR
     WS_LL_WARN
     WS_LL_NOTICE
     WS_LL_INFO
     WS_LL_DEBUG
     WS_LL_PARSER
     WS_LL_HEADER
     WS_LL_EXT
     WS_LL_CLIENT
     WS_LL_LATENCY

   デフォルトでは、WS_LL_ERR, WS_LL_WARN, WS_LL_NOTICE が有効。



2. ws_set_client_certificate_file_path/1

   ws_set_client_certificate_file_path(+PATH)

   PATH: ファイルパス(アトム)

   クライアント側certificate fileのパスを指定する。
   ws_create_context/3の前に実行すること。



3. ws_set_client_private_key_file_path/1

   ws_set_client_private_key_file_path(+PATH)

   PATH: ファイルパス(アトム)

   クライアント側private key fileのパスを指定する。
   ws_create_context/3の前に実行すること。



4. ws_create_context/3

   ws_create_context(+SUB_PROTOCOLS, +DEFAULT_SUB_PROTOCOL_INDEX, -CONTEXT)

   SUB_PROTOCOLS:              サポートするsub-protocolのリスト (アトムのリスト)
   DEFAULT_SUB_PROTOCOL_INDEX: 現状では意味がない(互換性のために残っている)
                               整数0を指定しておくこと
   CONTEXT:                    生成されたCONTEXTを返す

   クライアント側のCONTEXTを生成する。



5. ws_delete_context/1

   ws_delete_context(+CONTEXT)

   CONTEXT: 削除するCONTEXT。

   CONTEXTを削除する。



6. ws_connect/10

   ws_connect(+TIMEOUT, +CONTEXT, +SUB_PROTOCOL, +ADDRESS, +PORT, +SSL, +PATH, +HOST, +ORIGIN, -SESSION)

   TIMEOUT:      接続待ちtimeout時間 (整数 msec.), 負の値を指定すると永久に待つ
   CONTEXT:      CONTEXT
   SUB_PROTOCOL: sub-protocol (アトム)
   ADDRESS:      接続サーバアドレス (アトム)
   PORT:         接続ポート (整数)
   SSL:          SSLの使用 (整数)
                 0: SSL使用しない
                 1: SSL使用
                 2: SSL使用(以下のケースを無視する)
                    SSL_get_verify_result(SSL *ssl)の返り値
                    18:X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT
                       渡されたルートCA証明書は信頼された証明書リストに存在しない

   PATH:         URLのパス部分 (アトム)
   HOST:         RFC6455 サーバの権限(authority)を含んでいるHostヘッダフィールド
                 (アトム)
   ORIGIN:       RFC6455 Originヘッダフィールド (アトム)
   SESSION:      接続SESSION

   サーバに接続して、生成されたSESSIONを返す。



7. ws_close/1

   ws_close(+SESSION)

   SESSION:     接続SESSION

   接続SESSIONを閉じる。



8. ws_is_close/2

   ws_is_close(+SESSION, +TIMEOUT)

   SESSION: 接続SESSION
   TIMEOUT: timeout (整数 msec.), 負の値で永久に待つ

  指定されたSESSIONの接続が閉じているかどうかチェックする。
  閉じているとき   SUCCESS
  閉じていないとき FAIL



9. ws_sub_protocol/2

   ws_sub_protocol(+SESSION, -SUB_PROTOCOL)

   SESSION:      接続SESSION
   SUB_PROTOCOL: SESSIONのsub-protocol (アトム)

   指定されたSESSIONのsub-protocolを返す。



10. ws_read_text/3

   ws_read(+TIMEOUT, +SESSION, -DATA_ATOM)

   TIMEOUT:   timeout (整数 msec.), 負の値で永久に待つ
   SESSION:   接続SESSION
   DATA_ATOM: 読み込まれた文字列 (アトム)

   テキストデータを読み込む。



11. ws_write_text/2

   ws_write_text(+SESSION, +DATA_ATOM)

   SESSION:   接続SESSION
   DATA_ATOM: 出力する文字列 (アトム)

   テキストデータを送信する。



12. ws_write_atom_list/2

   ws_write_atom_list(+SESSION, +DATA_ATOM_LIST)

   SESSION:        接続SESSION
   DATA_ATOM_LIST: 出力する文字列 (アトムを要素とするリスト)

   テキストデータを送信する。



13. ws_read_list/3

   ws_read_list(+TIMEOUT, +SESSION, -DATA_LIST)

   TIMEOUT:   timeout (整数 msec.), 負の値で永久に待つ
   SESSION:   接続SESSION
   DATA_LIST: 読み込まれたバイト列 (リスト)

   バイナリデータを読み込む。



14. ws_write_list_binary/2

   ws_write_list_binary(+SESSION, +DATA_LIST)

   SESSION:   接続SESSION
   DATA_LIST: 出力するバイト列 (整数を要素とするリスト)

   バイナリデータを送信する。



15. ws_write_pong/1

   ws_write_pong(+SESSION)

   SESSION:   接続SESSION

   PONGを送信する。



16. ws_version/1

   ws_version(-VERSION)

   VERSION: バージョン情報を示すアトム

   バージョン情報を取得する。

   例: 'websock-ext: 0.5, libwebsockets: 1.3 unknown-build-hash'


//END
