Newer
Older
snipet / libsc / trunk / include / sc_error_win.h
/* vim: ts=4 sw=4 sts=4 ff=unix fenc=utf-8 :
 * =====================================================================
 *  sc_error_win.h
 *  Copyright (c)  2003 - 2011  sys0tem
 *  LICENSE :
 *	LGPL (GNU Lesser General Public License - Version 3,29 June 2007)
 *	http://www.gnu.org/copyleft/lesser.html
 *	or
 *	EPL (Eclipse Public License - v1.0)
 *	http://www.eclipse.org/legal/epl-v10.html
 * =====================================================================
 */
#ifndef __SC_ERROR_WIN_H__
#define __SC_ERROR_WIN_H__

#include <sc_os.h>

#if (SC_isWindows)

/* DMCにて winsock2.h を使用する場合, 以下の定義が必要.
 * 詳細は以下のURL参照.
 * http://www.digitalmars.com/d/archives/c++/idde/326.html
 */
#if defined (__DMC__)
#define _WINSOCKAPI_
#endif
#include <windows.h>
#include <winsock2.h>

#define SC_E2BIG            TYPE_E_OUTOFBOUNDS      /*< 引き数リストが長過ぎる                      */
#define SC_EACCES           WSAEACCES               /*< 許可がない                                  */
#define SC_EADDRINUSE       WSAEADDRINUSE           /*< アドレスがすでに使用されている              */
#define SC_EADDRNOTAVAIL    WSAEADDRNOTAVAIL        /*< アドレスが使用できない                      */
#define SC_EAFNOSUPPORT     WSAEAFNOSUPPORT         /*< アドレス・ファミリーがサポートされていない  */
#define SC_EAGAIN           WSATRY_AGAIN            /*< リソースが一時的に利用不可                  */
#define SC_EALREADY         WSAEALREADY             /*< 接続が既に処理中である                      */
#define SC_EBADF            WSAEBADF                /*< ファイルディスクリプタが不正である          */
#define SC_EBADMSG          ERROR_INVALID_MESSAGE   /*< メッセージが不正である                      */
#define SC_EBUSY            ERROR_BUSY              /*< リソースが使用中である                      */
#define SC_ECANCELED        WSAECANCELLED           /*< 操作がキャンセルされた                      */
#define SC_ECONNABORTED     WSAECONNABORTED         /*< 接続が中止された                            */
#define SC_ECONNREFUSED     WSAECONNREFUSED         /*< 接続が拒否された                            */
#define SC_ECONNRESET       WSAECONNRESET           /*< 接続がリセットされた                        */
#define SC_EDEADLK          ERROR_POSSIBLE_DEADLOCK /*< リソースのデッドロックを回避した            */
#define SC_EDESTADDRREQ     WSAEDESTADDRREQ         /*< 宛先アドレスが必要である                    */
#define SC_EDOM             ERROR_BAD_ARGUMENTS     /*< 数学関数で引き数が領域外である              */
#define SC_EDQUOT           WSAEDQUOT               /*< ディスク・クォータ (quota) を超過した       */
#define SC_EEXIST           ERROR_FILE_EXISTS       /*< ファイルが存在する                          */
#define SC_EFAULT           WSAEFAULT               /*< アドレスが不正である                        */
#define SC_EFBIG            ERROR_CANNOT_MAKE       /*< ファイルが大き過ぎる                        */
#define SC_EHOSTDOWN        WSAEHOSTDOWN            /*< ホストがダウンしている                      */
#define SC_EHOSTUNREACH     WSAEHOSTUNREACH         /*< ホストに到達不能である                      */
#define SC_EIDRM            ERROR_INVALID_HANDLE    /*< 識別子が削除された                          */
#define SC_EILSEQ           ERROR_INVALID_DATA      /*< 不正なバイト列                              */
#define SC_EINPROGRESS      WSAEINPROGRESS          /*< 操作が実行中である                          */
#define SC_EINTR            WSAEINTR                /*< 関数呼び出しが割り込まれた                  */
#define SC_EINVAL           WSAEINVAL               /*< 引数が無効である                            */
#define SC_EIO              ERROR_IO_DEVICE         /*< 入出力エラー                                */
#define SC_EISCONN          WSAEISCONN              /*< ソケットが接続されている                    */
#define SC_ELOOP            WSAELOOP                /*< シンボリック・リンクの回数が多過ぎる        */
#define SC_EMFILE           WSAEMFILE               /*< オープンされたファイルが多すぎます。        */
#define SC_EMLINK           ERROR_TOO_MANY_LINKS    /*< リンクが多すぎます。                        */
#define SC_EMSGSIZE         WSAEMSGSIZE             /*< メッセージが長過ぎる                        */
#define SC_ENAMETOOLONG     WSAENAMETOOLONG         /*< ファイル名が長過ぎる                        */
#define SC_ENETDOWN         WSAENETDOWN             /*< ネットワークが不通である                    */
#define SC_ENETRESET        WSAENETRESET            /*< 接続がネットワーク側から中止された          */
#define SC_ENETUNREACH      WSAENETUNREACH          /*< ネットワークが到達不能である                */
#define SC_ENFILE           ERROR_EA_TABLE_FULL     /*< ファイルテーブルがオーバフローしました。    */
#define SC_ENOBUFS          WSAENOBUFS              /*< 使用可能なバッファ空間がない                */
#define SC_ENODATA          WSANO_DATA              /*< ストリームの読み出しキューの先頭に読み出し可能なメッセージがない    */
#define SC_ENODEV           ERROR_DEV_NOT_EXIST     /*< デバイスが存在しません。                    */
#define SC_ENOENT           ERROR_FILE_NOT_FOUND    /*< ファイルまたはディレクトリが存在しません。  */
#define SC_ENOEXEC          ERROR_BAD_FORMAT        /*< exec フォーマットエラー                     */
#define SC_ENOMEM           ERROR_OUTOFMEMORY       /*< 十分な空きメモリ領域が無い                  */
#define SC_ENOPROTOOPT      WSAENOPROTOOPT          /*< 指定されたプロトコルが利用できない          */
#define SC_ENOSPC           ERROR_HANDLE_DISK_FULL  /*< デバイス上のスペースが足りません。          */
#define SC_ENOSYS           TYPE_E_DLLFUNCTIONNOTFOUND  /*< 関数が実装されていない                  */
#define SC_ENOTCONN         WSAENOTCONN             /*< ソケットが接続されていない                  */
#define SC_ENOTEMPTY        WSAENOTEMPTY            /*< ディレクトリが空ではない                    */
#define SC_ENOTSOCK         WSAENOTSOCK             /*< ソケットではない                            */
#define SC_ENOTSUP          ERROR_NOT_SUPPORTED     /*< 操作がサポートされていない                  */
#define SC_ENOTTY           RROR_INVALID_CATEGORY   /*< デバイスへのioctl が正しくありません。      */
#define SC_ENXIO            ERROR_BAD_UNIT          /*< デバイスまたはアドレスが存在しません。      */
#define SC_EOPNOTSUPP       WSAEOPNOTSUPP           /*< ソケットでサポートしていない操作である      */
#define SC_EPERM            WSAEACCES               /*< スーパーユーザではありません。              */
#define SC_EPFNOSUPPORT     WSAEPFNOSUPPORT         /*< サポートされていないプロトコルファミリーである  */
#define SC_EPIPE            ERROR_BROKEN_PIPE       /*< パイプが中断されました                      */
#define SC_EPROTO           ERROR_DS_PROTOCOL_ERROR /*< プロトコル・エラー                          */
#define SC_EPROTONOSUPPORT  WSAEPROTONOSUPPORT      /*< プロトコルがサポートされていない            */
#define SC_EPROTOTYPE       WSAEPROTOTYPE           /*< ソケットに指定できないプロトコル・タイプである  */
#define SC_ERANGE           ERROR_DS_OBJECT_RESULTS_TOO_LARGE   /*< 数学関数結果が表示不可能です。  */
#define SC_EREMOTE          WSAEREMOTE              /*< オブジェクトがリモートにある                */
#define SC_EROFS            ERROR_FILE_READ_ONLY    /*< 読み取り専用のファイルシステムです。        */
#define SC_ESHUTDOWN        WSAESHUTDOWN            /*< 通信相手がシャットダウンされて送信できない  */
#define SC_ESOCKTNOSUPPORT  WSAESOCKTNOSUPPORT      /*< サポートされていないソケット種別である      */
#define SC_ESPIPE           ERROR_BAD_PIPE          /*< シークが正しくありません。                  */
#define SC_ESTALE           WSAESTALE               /*< ファイルハンドルが古い状態になっている      */
#define SC_ETIME            WSAETIMEDOUT            /*< 時間が経過した                              */
#define SC_ETIMEDOUT        WSAETIMEDOUT            /*< 操作がタイムアウトした                      */
#define SC_ETXTBSY          ERROR_BUSY              /*< テキストファイルは使われています。(旧仕様)  */
#define SC_EXDEV            ERROR_NOT_SAME_DEVICE   /*< デバイスにまたがるリンクになります。        */


#endif	/* SC_isWindows */

#endif	/* __SC_ERROR_WIN_H__ */