version 2004 (Modified)
All 4D Internet Commands (with the exception of IT_ErrorText & IT_Version) return an integer value as the result of the function. This integer contains any error number which the command needs to convey back to the 4D database. If a command is successful, a zero will be returned. The source of an error number can usually be determined by the range of values which the error falls within. The following table provides an index to the most likely creator of an error in any given range:
Error Number | Generated by |
Error < Zero | Operating System Error or WinSock network layer |
Zero | No Error |
Error 1 -> 61 | BSD network layer |
Error >= 10000 | 4D Internet Commands Error |
4D Internet Commands Error Codes
If an error occurs during any operation, a numeric value from the following table will be returned:
10000 | user cancelled a dialog or progress. |
10001 | unimplemented Internet command. |
10002 | invalid array type. |
10003 | no more (TCP,SMTP,POP3, etc. ) references available. |
10004 | invalid reference. |
10005 | need a "Host" for use in the "SMTP_Send" command. |
10006 | need a "From" for use in the "SMTP_Send" command. |
10007 | need a recipient for use in the "SMTP_Send" command. |
10008 | already logged in. |
10009 | error trying to make a POP3 connection. |
10010 | error with POP3 USER. |
10011 | error with POP3 PASS. |
10012 | error with POP3 QUIT. |
10013 | error with POP3 STAT. |
10014 | error with POP3 LIST. |
10015 | error with POP3 UIDL. |
10016 | error with POP3 DELE. |
10017 | error with POP3 RSET. |
10018 | invalid message number. |
10019 | invalid character offset. |
10020 | invalid character length. |
10021 | error with POP3 RETR. |
10022 | field was not found in mail Header. |
10023 | no attachments found. |
10024 | error in processing BinHex. |
10025 | BinHex checksum error. |
10026 | Internet commands unavailable. Probably because MacTCP is not installed |
10027 | Connection no longer exists |
10028 | Exceeded 32k limit |
10029 | Error with POP3 NOOP |
10030 | POP3 session was closed by the server |
10031 | Error with POP3 APOP |
10032 | Unknown or invalid response. |
10033 | SMTP 421 - Service not available, closing transmission channel. |
10034 | SMTP 450 - Requested mail action not taken: mailbox unavailable. |
10035 | SMTP 451 - Requested action aborted: local error in processing. |
10036 | SMTP 452 - Requested action not taken: insufficient system storage. |
10037 | SMTP 500 - Syntax error, command unrecognized. |
10038 | SMTP 501 - Syntax error in parameters or arguments. |
10039 | SMTP 502 - Command not implemented. |
10040 | SMTP 503 - Bad sequence of commands. |
10041 | SMTP 504 - Command parameter not implemented. |
10042 | SMTP 550 - Requested action not taken: mailbox unavailable. |
10043 | SMTP 551 - User not local; please try <forward-path>. |
10044 | SMTP 552 - Requested mail action aborted: exceeded storage allocation. |
10045 | SMTP 553 - Requested action not taken: mailbox name not allowed. |
10046 | SMTP 554 - Transaction failed. |
10047 | FTP 421 - Service not available, closing control connection. |
10048 | FTP 425 - Can't open data connection. |
10049 | FTP 426 - Connection closed; transfer aborted. |
10050 | FTP 450 - Requested file action not taken. File unavailable (e.g.,file busy). |
10051 | FTP 451 - Requested action aborted: local error in processing. |
10052 | FTP 452 - Requested action not taken. Insufficient storage space in system. |
10053 | FTP 500 - Syntax error, command unrecognized. |
10054 | FTP 501 - Syntax error in parameters or arguments. |
10055 | FTP 502 - Command not implemented. |
10056 | FTP 503 - Bad sequence of commands. |
10057 | FTP 504 - Command not implemented for that parameter. |
10058 | FTP 530 - Not logged in. |
10059 | FTP 532 - Need account for storing files. |
10060 | FTP 550 - Requested action not taken. File unavailable (e.g., file not found, no access). |
10061 | FTP 551 - Requested action aborted: page type unknown. |
10062 | FTP 552 - Requested file action aborted. Exceeded storage allocation (for current directory |
or dataset). | |
10063 | FTP 553 - Requested action not taken. File name not allowed. |
10064 | No response has been received within the given timeout period. |
10065 | Not an FTP file. |
10066 | Error in processing Base64. |
10067 | Error in processing AppleSingle. |
10068 | Error in processing Quoted-Printable. |
10069 | FTP session was closed by the server. |
10070 | Not an FTP directory. |
10071 | TCP session was closed by the server |
10072 | Invalid encode kind |
10073 | Invalid decode kind |
10074 | An asynchronous DNR call did not complete |
10075 | An asynchronous OpenTransport call did not complete |
10076 | OpenTransport bind failed |
10077 | OpenTransport connect failed |
10078 | Maximum MacTCP streams reached |
10079 | Error in processing uuencode |
10080 | Cannot load ICMP library |
10081 | Error in processing MacBinary |
10082 | MacBinary checksum error |
10083 | Could not open a file |
10084 | No FTP information received |
10085 | Unknown FTP information received |
10086 | Proxy connection failed |
10087 | Standard file I/O error |
10088 | FTP reentrant error |
10089 | SLI.DLL is not loaded |
10091 | Error trying to make an IMAP connection |
10092 | A maibox is not selected |
10093 | Invalid message part |
10094 | Error with IMAP LOGIN |
10095 | Error with IMAP LOGOUT |
10096 | Error with IMAP CAPABILITY |
10097 | Error with IMAP SELECT |
10098 | Error with IMAP FETCH |
10099 | Error with IMAP PARTIAL |
10100 | Error with IMAP STORE |
10101 | Error with IMAP EXPUNGE |
10102 | Error with IMAP SEARCH |
10103 | Error with IMAP COPY |
10104 | Error with IMAP CREATE |
10105 | Error with IMAP DELETE |
10106 | Error with IMAP RENAME |
10107 | Error with IMAP SUBSCRIBE |
10108 | Error with IMAP UNSUBSCRIBE |
10109 | Error with IMAP LIST |
10110 | Error with IMAP LSUB |
10111 | Error with IMAP STATUS |
10112 | Error with IMAP CLOSE |
10113 | Error with AUTHENTICATION |
BSD Error Codes
1 | Operation not permitted |
4 | Interrupted system call |
13 | Permission denied |
14 | Bad address |
22 | Invalid argument |
24 | Too many open files |
35 | Operation would block |
36 | Operation now in progress |
37 | Operation already in progress |
38 | Socket operation on non-socket |
39 | Destination address required |
40 | Message too long |
41 | Protocol wrong type for socket |
42 | Protocol not available |
43 | Protocol not supported |
44 | Socket type not supported |
45 | Operation not supported |
46 | Protocol family not supported |
47 | Address family not supported by protocol family |
48 | Address already in use |
49 | Can't assign requested address |
50 | Network is down |
51 | Network is unreachable |
52 | Network dropped connection on reset |
53 | Software caused connection abort |
54 | Connection reset by peer |
55 | No buffer space available |
56 | Socket is already connected |
57 | Socket is not connected |
58 | Can't send after socket shutdown |
60 | Operation timed out |
61 | Connection refused |
WinSock Error Codes
-10004 | Blocking call cancelled |
-10013 | Permission denied |
-10014 | Bad address |
-10022 | Invalid argument |
-10024 | No more sockets available |
-10035 | Non-blocking socket would block |
-10036 | Illegal WinSock function invoked while a blocking function is in progress |
-10037 | An attempt was made to cancel an asynchronous operation that has already completed |
-10038 | Specified socket descriptor is not valid for this application |
-10039 | Destination address was required but none was supplied to the function |
-10040 | Datagram too large for buffer |
-10041 | Specified protocol does not match the other parameters in the call |
-10042 | Protocol option is unknown or invalid |
-10043 | Specified protocol is not supported by the Windows Sockets implementation |
-10044 | Specified socket type is not supported by the specified address family |
-10045 | Socket does not support the specified operation |
-10046 | Protocol family not supported |
-10047 | Specified address family is not supported by the Windows Sockets implementation or |
cannot be used with the indicated socket | |
-10048 | Specified address is already in use |
-10049 | Specified address is not available from the local machine |
-10050 | Problem with the network subsystem |
-10051 | Network cannot be reached from this host at this time |
-10052 | Connection was dropped and must be reset |
-10053 | Connection was aborted because of a timeout or other error condition |
-10054 | Connection was reset by the remote host |
-10055 | Windows Sockets implementation is out of buffer space or the space provided in an API |
call by the application was too small to hold the requested information | |
-10056 | Specified socket is already connected |
-10057 | Specified socket is not connected |
-10058 | Socket has had the requested functionality shut down |
-10060 | Connection attempt timed out before the connection could be established |
-10061 | Connection attempt was forcefully rejected |
-10091 | Network subsystem is not yet ready for communication |
-10092 | Windows Sockets DLL does not support the requested Winsock protocol version |
-10093 | Windows Sockets not initialized |
-11001 | Requested database information does not exist; as confirmed by an authoritative host |
-11002 | Requested information was not found but the answer was not authoritative |
-11003 | Non-recoverable error occurred |
-11004 | Name supplied was valid but no information of the requested type is in the database |
SMTP RFC Values
The following items are not error codes returned by any of the external commands. These are response codes which the SMTP protocol has defined to communicate various states during client-server communication. Developers may find this list useful if they are writing their own mail communication procedures using low-level TCP commands.
211 | System status, or system help reply |
214 | Help message [Information on how to use the receiver or the meaning of a particular |
non-standard command; this reply is useful only to the human user] | |
220 | <domain> Service ready |
221 | <domain> Service closing transmission channel |
250 | Requested mail action okay, completed |
251 | User not local; will forward to <forward-path> |
354 | Start mail input; end with <CRLF>.<CRLF> |
421 | <domain> Service not available, closing transmission channel [This may be a reply to |
any command if the service knows it must shut down] | |
450 | Requested mail action not taken: mailbox unavailable [e.g., mailbox busy] |
451 | Requested action aborted: local error in processing |
452 | Requested action not taken: insufficient system storage |
500 | Syntax error, command unrecognized [This may include errors such as command line |
too long] | |
501 | Syntax error in parameters or arguments |
502 | Command not implemented |
503 | Bad sequence of commands |
504 | Command parameter not implemented |
550 | Requested action not taken: mailbox unavailable [e.g., mailbox not found, no access] |
551 | User not local; please try <forward-path> |
552 | Requested mail action aborted: exceeded storage allocation |
553 | Requested action not taken: mailbox name not allowed [e.g., mailbox syntax incorrect] |
554 | Transaction failed |
FTP RFC Values
The following items are not error codes returned by any of the external commands. These are response codes which the FTP protocol has defined to communicate various states during client-server communication. Developers may find this list useful when writing their own file transfer procedures using low-level TCP commands.
110 | Restart marker reply. In this case, the text is exact and not left to the particular |
implementation; it must read: | |
MARK yyyy = mmmm | |
Where yyyy is User-process data stream marker, and mmmm server's equivalent | |
marker (note the spaces between markers and "="). | |
120 | Service ready in nnn minutes. |
125 | Data connection already open; transfer starting. |
150 | File status okay; about to open data connection. |
200 | Command okay. |
202 | Command not implemented, superfluous at this site. |
211 | System status, or system help reply. |
212 | Directory status. |
213 | File status. |
214 | Help message on how to use the server or the meaning of a particular non-standard |
command. This reply is useful only to the human user. | |
215 | NAME system type. Where NAME is an official system name from the list in the |
Assigned Numbers document. | |
220 | Service ready for new user. |
221 | Service closing control connection. Logged out if appropriate. |
225 | Data connection open; no transfer in progress. |
226 | Closing data connection. Requested file action successful (e.g., file transfer or file |
abort). | |
227 | Entering Passive Mode (h1,h2,h3,h4,p1,p2). |
230 | User logged in, proceed. |
250 | Requested file action okay, completed. |
257 | "PATHNAME" created. |
331 | User name okay, need password. |
332 | Need account for login. |
350 | Requested file action pending further information. |
421 | Service not available, closing control connection. This may be a reply to any command if |
the service knows it must shut down. | |
425 | Can't open data connection. |
426 | Connection closed; transfer aborted. |
450 | Requested file action not taken. File unavailable (file busy). |
451 | Requested action aborted: local error in processing. |
452 | Requested action not taken. Insufficient storage space in system. |
500 | Syntax error, command unrecognized. This may include errors such as command line |
too long. | |
501 | Syntax error in parameters or arguments. |
502 | Command not implemented. |
503 | Bad sequence of commands. |
504 | Command not implemented for that parameter. |
530 | Not logged in. |
532 | Need account for storing files. |
550 | Requested action not taken. File unavailable (e.g., file not found, no access). |
551 | Requested action aborted: page type unknown. |
552 | Requested file action aborted. Exceeded storage allocation (for current directory or |
dataset). | |
553 | Requested action not taken. File name not allowed. |