WBAPI.H 헤더 파일
다음은 WBAPI.H 헤더 파일의 전체 소스이다.
<WBAPI.H>
/* ------------------------ usrinc/wbapi.h -------------------- */ /* */ /* Copyright (c) 2000 Tmax Soft Co., Ltd */ /* All Rights Reserved */ /* */ /* ------------------------------------------------------------ */ #ifndef _WEBTOB_WBAPI_H #define _WEBTOB_WBAPI_H #include <sys/types.h> #include <usrinc/atmi.h> #ifdef _WIN32 #include <winsock2.h> #else #include <sys/socket.h> #define __cdecl #endif #ifndef SVC_NAME_SIZE #define SVC_NAME_SIZE 16 #endif #define WBFAIL 0x0001 /* [rollback +] internal server error */ #define WBSUCCESS 0x0002 /* [commit +] user-defined page */ #define WBEXIT 0x0004 /* abnormal server exit */ #define WBDOWN 0x0008 /* normal server down */ #define WBERROR 0x0010 /* [rollback +] user-defined page */ /* ----- HTTP Status Codes ---- */ #define HTTP_CONTINUE 100 #define HTTP_SWITCHING_PROTOCOLS 101 #define HTTP_OK 200 #define HTTP_CREATED 201 #define HTTP_NO_CONTENT 204 #define HTTP_PARTIAL_CONTENT 206 #define HTTP_MOVED_TEMPORARILY 302 #define HTTP_REDIRECT HTTP_MOVED_TEMPORARILY #define HTTP_NOT_MODIFIED 304 #define HTTP_BAD_REQUEST 400 #define HTTP_UNAUTHORIZED 401 #define HTTP_FORBIDDEN 403 #define HTTP_NOT_FOUND 404 #define HTTP_METHOD_NOT_ALLOWED 405 #define HTTP_PROXY_AUTHENTICATION_REQUIRED 407 #define HTTP_CONFLICT 409 #define HTTP_LENGTH_REQUIRED 411 #define HTTP_PRECONDITION_FAILED 412 #define HTTP_REQUEST_ENTITY_TOO_LARGE 413 #define HTTP_REQUEST_URI_TOO_LARGE 414 #define HTTP_INTERNAL_SERVER_ERROR 500 #define HTTP_NOT_IMPLEMENTED 501 #define HTTP_VERSION_NOT_SUPPORTED 505 /* --- for compatability with Webtob/1.0 --- */ #define wbgethdr(wbsvc, key) wbGetHdr(wbsvc, key) #define wbgetdata(wbsvc, key) wbGetData(wbsvc, key) #define wbgetnthkey(wbsvc, nth) wbGetNthKey(wbsvc, nth) #define wbgetnthdata(wbsvc, nth) wbGetNthData(wbsvc, nth) #define wbgetdatacnt(wbsvc, nth) wbGetDataCount(wbsvc, nth) #define wbgetval(wbsvc, key, nth) wbGetValue(wbsvc, key, nth) #define wbkeyoccur(wbsvc, key) wbKeyOccur(wbsvc, key) #define wbgetenv(wbsvc, key) wbGetEnv(wbsvc, key) #define wbputhdr(wbsvc, key, value) wbPutHdr(wbsvc, key, value) #define wbputstr(wbsvc, value) wbPutStr(wbsvc, value) #define wbput(wbsvc, value, len) wbPut(wbsvc, value, len) #define wbreturn(wbsvc, rval) wbReturn(wbsvc, rval) #define wbPutProtocolStatus(wbsvc, sc, sm) wbSetStatus(wbsvc, sc, sm) struct wbsvcinfo { char name[SVC_NAME_SIZE]; int method; int protono; int flags; int len; char *uri; char *data; }; typedef struct wbsvcinfo WBSVCINFO; typedef struct { char *name; char *value; char *domain; char *path; char *comment; int maxage; int version; int secure; } cookie_t; typedef struct session_s SESSION; #if defined (__cplusplus) extern "C" { #endif /* ------------------ INIT/DONE API ------------------ */ int __cdecl wbSvrInit(int argc, char *argv[]); int __cdecl wbSvrDone(void); /* ------------------ ALLOC API ------------------ */ void *__cdecl wbMalloc(WBSVCINFO *wbsvc, int size); int __cdecl wbFree(WBSVCINFO *wbsvc, void *ptr); /* ------------------ GET API ------------------- */ #define wbGetAuthType(wbsvc) wbGetEnv(wbsvc, "AUTH_TYPE") #define wbGetContentLength(wbsvc) wbGetEnv(wbsvc, "CONTENT_LENGTH") #define wbGetDocumentRoot(wbsvc) wbGetEnv(wbsvc, "DOCUMENT_ROOT") #define wbGetMethod(wbsvc) wbGetEnv(wbsvc, "REQUEST_METHOD") #define wbGetParsedURI(wbsvc) wbGetEnv(wbsvc, "PARSED_URI") #define wbGetPathInfo(wbsvc) wbGetEnv(wbsvc, "PATH_INFO") #define wbGetPathTranslated(wbsvc) wbGetEnv(wbsvc, "PATH_TRANSLATED") #define wbGetProtocol(wbsvc) wbGetEnv(wbsvc, "SERVER_PROTOCOL") #define wbGetQueryString(wbsvc) wbGetEnv(wbsvc, "QUERY_STRING") #define wbGetRemoteAddr(wbsvc) wbGetEnv(wbsvc, "REMOTE_ADDR") #define wbGetRemoteHost(wbsvc) wbGetEnv(wbsvc, "REMOTE_HOST") #define wbGetRemoteIdent(wbsvc) wbGetEnv(wbsvc, "REMOTE_IDENT") #define wbGetRemoteUser(wbsvc) wbGetEnv(wbsvc, "REMOTE_USER") #define wbGetRequestURI(wbsvc) wbGetEnv(wbsvc, "REQUEST_URI") #define wbGetScheme(wbsvc) wbGetEnv(wbsvc, "REQUEST_SCHEME") #define wbGetScriptFilename(wbsvc) wbGetEnv(wbsvc, "SCRIPT_FILENAME") #define wbGetScriptName(wbsvc) wbGetEnv(wbsvc, "SCRIPT_NAME") #define wbGetServerName(wbsvc) wbGetEnv(wbsvc, "SERVER_NAME") #define wbGetServerPort(wbsvc) wbGetEnv(wbsvc, "SERVER_PORT") #define wbGetServerSoftware(wbsvc) wbGetEnv(wbsvc, "SERVER_SOFTWARE") #define wbGetTranslatedURI(wbsvc) wbGetEnv(wbsvc, "TRANSLATED_URI") char *__cdecl wbGetData(WBSVCINFO *wbsvc, char *name); int __cdecl wbGetDataCount(WBSVCINFO *wbsvc); long __cdecl wbGetDateHdr(WBSVCINFO *wbsvc, char *name); char *__cdecl wbGetEnv(WBSVCINFO *wbsvc, char *name); long __cdecl wbGetFileLen(WBSVCINFO *wbsvc, char *name); char *__cdecl wbGetFileName(WBSVCINFO *wbsvc, char *name); char *__cdecl wbGetHdr(WBSVCINFO *wbsvc, char *name); int __cdecl wbGetHdrCount(WBSVCINFO *wbsvc); int __cdecl wbGetIntHdr(WBSVCINFO *wbsvc, char *name); char *__cdecl wbGetNthData(WBSVCINFO *wbsvc, int nth); char *__cdecl wbGetNthHdr(WBSVCINFO *wbsvc, int nth); char *__cdecl wbGetNthKey(WBSVCINFO *wbsvc, int nth); char *__cdecl wbGetReqLine(WBSVCINFO *wbsvc); char *__cdecl wbGetRequestURL(WBSVCINFO *wbsvc); char *__cdecl wbGetValue(WBSVCINFO *wbsvc, char *name, int nth); int __cdecl wbKeyOccur(WBSVCINFO *wbsvc, char *name); /* ------------------ PUT API ------------------- */ int __cdecl wbPrint(WBSVCINFO *wbsvc, const char *fmt, ...); int __cdecl wbprint(WBSVCINFO *wbsvc, const char *fmt, ...); /* for Webtob/1.0 */ int __cdecl wbPut(WBSVCINFO *wbsvc, char *value, int len); int __cdecl wbPutFile(WBSVCINFO *wbsvc, char *path); int __cdecl wbPutHdr(WBSVCINFO *wbsvc, char *name, char *value); int __cdecl wbPutIntHdr(WBSVCINFO *wbsvc, char *name, int ivalue); int __cdecl wbPutPartialFile(WBSVCINFO *wbsvc, char *path, int offset, int sz); int __cdecl wbPutStr(WBSVCINFO *wbsvc, char *value); int __cdecl wbSetStatus(WBSVCINFO *wbsvc, int status, char *status_msg); /* ------------------ SEND API ------------------- */ int __cdecl wbFlush(WBSVCINFO *wbsvc); void __cdecl wbReturn(WBSVCINFO *wbsvc, int rval); int __cdecl wbSendError(WBSVCINFO *wbsvc, int status, char *msg); int __cdecl wbSendRedirect(WBSVCINFO *wbsvc, char *location); /* ------------------ COOKIE API ------------------ */ cookie_t *__cdecl wbCreateCookie(WBSVCINFO *wbsvc, char *name, char *value); cookie_t *__cdecl wbGetCookie(WBSVCINFO *wbsvc, char *name); int __cdecl wbPutCookie(WBSVCINFO *wbsvc, cookie_t *cookie); char *__cdecl wbCookieGetDomain(WBSVCINFO *wbsvc, cookie_t *cookie); char *__cdecl wbCookieGetName(WBSVCINFO *wbsvc, cookie_t *cookie); char *__cdecl wbCookieGetPath(WBSVCINFO *wbsvc, cookie_t *cookie); char *__cdecl wbCookieGetValue(WBSVCINFO *wbsvc, cookie_t *cookie); int __cdecl wbCookieGetVersion(WBSVCINFO *wbsvc, cookie_t *cookie); int __cdecl wbCookieSetComment(WBSVCINFO *wbsvc, cookie_t *cookie, char *comment); int __cdecl wbCookieSetDomain(WBSVCINFO *wbsvc, cookie_t *cookie, char *domain); int __cdecl wbCookieSetMaxAge(WBSVCINFO *wbsvc, cookie_t *cookie, int maxage); int __cdecl wbCookieSetPath(WBSVCINFO *wbsvc, cookie_t *cookie, char *path); int __cdecl wbCookieSetSecure(WBSVCINFO *wbsvc, cookie_t *cookie, int secure); int __cdecl wbCookieSetValue(WBSVCINFO *wbsvc, cookie_t *cookie, char *value); int __cdecl wbCookieSetVersion(WBSVCINFO *wbsvc, cookie_t *cookie, int version); /* ------------------ SESSION API ------------------ */ char *__cdecl wbGetRequestedSessionId(WBSVCINFO *wbsvc); SESSION *__cdecl wbGetSession(WBSVCINFO *wbsvc); int __cdecl wbIsRequestedSessionIdValid(WBSVCINFO *wbsvc); long __cdecl wbSessionGetCreationTime(SESSION *session); char *__cdecl wbSessionGetId(SESSION *session); long __cdecl wbSessionGetLastAccessedTime(SESSION *session); int __cdecl wbSessionGetMaxInactiveInterval(SESSION *session); void *__cdecl wbSessionGetValue(SESSION *session, char *name, int *len); char **__cdecl wbSessionGetValueNames(SESSION *session, int *num); int __cdecl wbSessionInvalidate(SESSION *session); int __cdecl wbSessionIsNew(SESSION *session); int __cdecl wbSessionRemoveValue(SESSION *session, char *name); int __cdecl wbSessionSetMaxInactiveInterval(SESSION *session, int interval); SESSION *__cdecl wbSessionSetValue(SESSION *session, char *name, void *value, int len); /* ------------------ ETC API ------------------- */ int __cdecl wbGetErrno(); int __cdecl wbSaveFile(WBSVCINFO *wbsvc, char *name, char *path); #if defined (__cplusplus) } #endif #endif /* end of _WEBTOB_WBAPI_H */