123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- //==========================================================================
- //
- // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
- // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
- // PURPOSE.
- //
- // Copyright (c) 1999 - 2001 On2 Technologies Inc. All Rights Reserved.
- //
- //--------------------------------------------------------------------------
- #ifndef _duck_io_h
- #define _duck_io_h
- #if defined(__cplusplus)
- extern "C" {
- #endif
- #if defined (_WIN32)
- typedef __int64 int64_t;
- #endif
- typedef struct
- {
- int64_t offset; // offset to start from
- int blocking; // non-zero for blocking
- } ReOpen_t;
- typedef enum {
- SAL_ERR_MAX = -10,
- SAL_ERROR = -11, // Default error
- SAL_ERR_WSASTARTUP = -12,
- SAL_ERR_SOCKET_CREATE = -13,
- SAL_ERR_RESOLVING_HOSTNAME = -14,
- SAL_ERR_SERVER_CONNECTION = -15,
- SAL_ERR_SENDING_DATA = -16,
- SAL_ERR_RECEIVING_DATA = -17,
- SAL_ERR_404_FILE_NOT_FOUND = -18,
- SAL_ERR_PARSING_HTTP_HEADER = -19,
- SAL_ERR_PARSING_CONTENT_LEN = -20,
- SAL_ERR_CONNECTION_TIMEOUT = -21,
- SAL_ERR_FILE_OPEN_FAILED = -22,
- SAL_ERR_MIN = -23
- } SAL_ERR; /* EMH 1-15-03 */
- typedef struct SalErrMap_temp
- {
- SAL_ERR code;
- const char* decode;
- } SalErrMap_t;
- static char* SalErrText(SAL_ERR e)
- {
- int t;
- const SalErrMap_t gSalErrMap[] =
- {
- { SAL_ERR_WSASTARTUP, "Error with WSAStartup" },
- { SAL_ERR_SOCKET_CREATE, "Error creating socket" },
- { SAL_ERR_RESOLVING_HOSTNAME, "Error resolving hostname" },
- { SAL_ERR_SERVER_CONNECTION, "Error connecting to server" },
- { SAL_ERR_SENDING_DATA, "Error sending data" },
- { SAL_ERR_RECEIVING_DATA, "Error receiving data" },
- { SAL_ERR_404_FILE_NOT_FOUND, "Error file not found " },
- { SAL_ERR_PARSING_HTTP_HEADER, "Error parsing http header" },
- { SAL_ERR_PARSING_CONTENT_LEN, "Error parsing content length" },
- { SAL_ERR_CONNECTION_TIMEOUT, "Error Connection timed out" },
- { SAL_ERR_FILE_OPEN_FAILED, "Error opening file" }
- };
-
- for(t = 0; t < sizeof(gSalErrMap)/sizeof(SalErrMap_t); t++)
- {
- if (e == gSalErrMap[t].code)
- return (char *) gSalErrMap[t].decode;
- }
-
- return 0;
- }
- int duck_open(const char *fname, unsigned long userData);
- void duck_close(int ghndl);
- int duck_read(int ghndl,unsigned char *buf, int nbytes);
- int64_t duck_seek(int gHndl,int64_t offs, int origin);
- int duck_readFinished(int han, int flag); /* FWG 7-9-99 */
- int duck_name(int handle, char name[], size_t maxLen); /* EMH 9-23-03 */
- int duck_read_blocking(int handle,unsigned char *buffer,int bytes); /* EMH 9-23-03 */
- int64_t duck_available_data(int handle); /* EMH 10-23-03 */
- #if defined(__cplusplus)
- }
- #endif
- #endif
|