Changeset 119 in libcf
- Timestamp:
- 06/10/13 09:56:32 (11 years ago)
- Location:
- trunk
- Files:
-
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/docs/doxyfile
r35 r119 213 213 # itcl::class meaning. 214 214 215 TCL_SUBST =215 #TCL_SUBST = 216 216 217 217 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C … … 261 261 # Disable only in case of backward compatibilities issues. 262 262 263 MARKDOWN_SUPPORT = YES263 #MARKDOWN_SUPPORT = YES 264 264 265 265 # When enabled doxygen tries to link words that correspond to documented classes, … … 268 268 # globally by setting AUTOLINK_SUPPORT to NO. 269 269 270 AUTOLINK_SUPPORT = YES270 #AUTOLINK_SUPPORT = YES 271 271 272 272 # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want … … 319 319 # section (for LaTeX and RTF). 320 320 321 INLINE_GROUPED_CLASSES = NO321 #INLINE_GROUPED_CLASSES = NO 322 322 323 323 # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and … … 328 328 # pages) or section (for LaTeX and RTF). 329 329 330 INLINE_SIMPLE_STRUCTS = NO330 #INLINE_SIMPLE_STRUCTS = NO 331 331 332 332 # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum … … 365 365 # corresponding to a cache size of 2^16 = 65536 symbols. 366 366 367 LOOKUP_CACHE_SIZE = 0367 #LOOKUP_CACHE_SIZE = 0 368 368 369 369 #--------------------------------------------------------------------------- … … 386 386 # scope will be included in the documentation. 387 387 388 EXTRACT_PACKAGE = NO388 #EXTRACT_PACKAGE = NO 389 389 390 390 # If the EXTRACT_STATIC tag is set to YES all static members of a file … … 616 616 # file names with spaces, bibtex cannot handle them. 617 617 618 CITE_BIB_FILES =618 #CITE_BIB_FILES = 619 619 620 620 #--------------------------------------------------------------------------- … … 625 625 # by doxygen. Possible values are YES and NO. If left blank NO is used. 626 626 627 QUIET = NO627 QUIET = YES 628 628 629 629 # The WARNINGS tag can be used to turn on/off the warning messages that are … … 667 667 # to stderr. 668 668 669 WARN_LOGFILE = 669 WARN_LOGFILE = warning.log 670 670 671 671 #--------------------------------------------------------------------------- … … 800 800 # the introduction page also for the doxygen output. 801 801 802 USE_MDFILE_AS_MAINPAGE =802 #USE_MDFILE_AS_MAINPAGE = 803 803 804 804 #--------------------------------------------------------------------------- … … 937 937 # the output directory. 938 938 939 HTML_EXTRA_STYLESHEET =939 #HTML_EXTRA_STYLESHEET = 940 940 941 941 # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or … … 946 946 # the files will be copied as-is; there are no commands or markers available. 947 947 948 HTML_EXTRA_FILES =948 #HTML_EXTRA_FILES = 949 949 950 950 # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. … … 994 994 # and will result in a full expanded tree by default. 995 995 996 HTML_INDEX_NUM_ENTRIES = 100996 #HTML_INDEX_NUM_ENTRIES = 100 997 997 998 998 # If the GENERATE_DOCSET tag is set to YES, additional index files … … 1215 1215 # compatibility. 1216 1216 1217 MATHJAX_FORMAT = HTML-CSS1217 #MATHJAX_FORMAT = HTML-CSS 1218 1218 1219 1219 # When MathJax is enabled you need to specify the location relative to the … … 1231 1231 # names that should be enabled during MathJax rendering. 1232 1232 1233 MATHJAX_EXTENSIONS =1233 #MATHJAX_EXTENSIONS = 1234 1234 1235 1235 # When the SEARCHENGINE tag is enabled doxygen will generate a search box … … 1261 1261 # library Xapian. See the manual for configuration details. 1262 1262 1263 EXTERNAL_SEARCH = NO1263 #EXTERNAL_SEARCH = NO 1264 1264 1265 1265 # The SEARCHENGINE_URL should point to a search engine hosted by a web server … … 1269 1269 # details. 1270 1270 1271 SEARCHENGINE_URL =1271 #SEARCHENGINE_URL = 1272 1272 1273 1273 # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed … … 1275 1275 # SEARCHDATA_FILE tag the name of this file can be specified. 1276 1276 1277 SEARCHDATA_FILE = searchdata.xml1277 #SEARCHDATA_FILE = searchdata.xml 1278 1278 1279 1279 # When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the … … 1282 1282 # projects and redirect the results back to the right project. 1283 1283 1284 EXTERNAL_SEARCH_ID =1284 #EXTERNAL_SEARCH_ID = 1285 1285 1286 1286 # The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen … … 1291 1291 # The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ... 1292 1292 1293 EXTRA_SEARCH_MAPPINGS =1293 #EXTRA_SEARCH_MAPPINGS = 1294 1294 1295 1295 #--------------------------------------------------------------------------- … … 1351 1351 # standard footer. Notice: only use this tag if you know what you are doing! 1352 1352 1353 LATEX_FOOTER =1353 #LATEX_FOOTER = 1354 1354 1355 1355 # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated … … 1390 1390 # http://en.wikipedia.org/wiki/BibTeX for more info. 1391 1391 1392 LATEX_BIB_STYLE = plain1392 #LATEX_BIB_STYLE = plain 1393 1393 1394 1394 #--------------------------------------------------------------------------- … … 1741 1741 # exceeded by 50% before the limit is enforced. 1742 1742 1743 UML_LIMIT_NUM_FIELDS = 101743 #UML_LIMIT_NUM_FIELDS = 10 1744 1744 1745 1745 # If set to YES, the inheritance and collaboration graphs will show the … … 1805 1805 # visible. Older versions of IE do not have SVG support. 1806 1806 1807 INTERACTIVE_SVG = NO1807 #INTERACTIVE_SVG = NO 1808 1808 1809 1809 # The tag DOT_PATH can be used to specify the path where the dot tool can be -
trunk/include/cf_base.h
r116 r119 1 1 /** 2 * @file cf_base.h3 * @author myusgun <myusgun@gmail.com>4 * @version 0.12 * \file cf_base.h 3 * \author myusgun <myusgun@gmail.com> 4 * \version 0.1 5 5 * 6 * @brief 기본 정의6 * \brief 기본 정의 7 7 * 8 * @mainpage8 * \mainpage 9 9 10 10 <h2 style="line-height: 10%;">Welcome to documentation page of libCF</h2> -
trunk/include/cf_codec.h
r116 r119 1 1 /** 2 * @file cf_codec.h3 * @author myusgun <myusgun@gmail.com>2 * \file cf_codec.h 3 * \author myusgun <myusgun@gmail.com> 4 4 * 5 * @brief 데이터 변환5 * \brief 데이터 변환 6 6 * 7 * @example codec.c7 * \example codec.c 8 8 */ 9 9 #ifndef __CF_CODEC_H__ -
trunk/include/cf_debug.h
r116 r119 1 1 /** 2 * @file cf_debug.h3 * @author myusgun <myusgun@gmail.com>2 * \file cf_debug.h 3 * \author myusgun <myusgun@gmail.com> 4 4 * 5 * @brief 디버그 유틸5 * \brief 디버그 유틸 6 6 * 7 * @remarks7 * \remarks 8 8 * 디버그 함수를 직접 호출하지 않고 정의된 매크로를 사용하면, 9 9 * Preprocessor에 _DEBUG가 정의되어 있는 경우에 만 … … 11 11 * 디버그 메시지는 stdout 및 stderr 등의 파일 포인터 출력을 지원함 12 12 * 13 * @example debug.c13 * \example debug.c 14 14 */ 15 15 #ifndef __CF_DEBUG_H__ … … 31 31 * 디버그 메시지를 지정된 파일 포인터로 출력 32 32 * 33 & @param __fp 출력할 파일 포인터34 * @param __fmt 포맷 스트링35 * @param ... 가변 인자33 & \param __fp 출력할 파일 포인터 34 * \param __fmt 포맷 스트링 35 * \param ... 가변 인자 36 36 * 37 * @see CF_Debug_Print37 * \see CF_Debug_Print 38 38 */ 39 39 # define CF_DEBUG_PRINT(__fp,__fmt,...) \ … … 43 43 * 바이너리 데이터를 디버그 메시지와 함께 지정된 파일 포인터로 출력 44 44 * 45 & @param __fp 출력할 파일 포인터46 * @param __bin 바이너리 데이터47 * @param __len 바이너리 길이48 * @param __fmt 포맷 스트링49 * @param ... 가변 인자45 & \param __fp 출력할 파일 포인터 46 * \param __bin 바이너리 데이터 47 * \param __len 바이너리 길이 48 * \param __fmt 포맷 스트링 49 * \param ... 가변 인자 50 50 * 51 * @see CF_Debug_PrintBin51 * \see CF_Debug_PrintBin 52 52 */ 53 53 # define CF_DEBUG_PRINT_BIN(__fp,__bin,__len,__fmt,...) \ … … 57 57 * 디버깅 모듈 초기화 58 58 * 59 * @see CF_Debug_Initialize59 * \see CF_Debug_Initialize 60 60 */ 61 61 # define CF_DEBUG_INITIALIZE \ … … 65 65 * 디버깅 모듈 해제 66 66 * 67 * @see CF_Debug_Finalize67 * \see CF_Debug_Finalize 68 68 */ 69 69 # define CF_DEBUG_FINALIZE \ … … 73 73 * 함수에 진입 74 74 * 75 * @see CF_Debug_EnterFunction75 * \see CF_Debug_EnterFunction 76 76 */ 77 77 # define CF_DEBUG_BEGIN_FUNCTION \ … … 81 81 * 함수에서 리턴 82 82 * 83 * @see CF_Debug_LeaveFunction83 * \see CF_Debug_LeaveFunction 84 84 */ 85 85 # define CF_DEBUG_END_FUNCTION \ … … 89 89 * 콜스택 을 지정된 파일 포인터로 출력 90 90 * 91 * @see CF_Debug_PrintCallStack91 * \see CF_Debug_PrintCallStack 92 92 */ 93 93 # define CF_DEBUG_PRINT_CALLSTACK(__fp) \ -
trunk/include/cf_error.h
r116 r119 1 1 /** 2 * @file cf_error.h3 * @author myusgun <myusgun@gmail.com>2 * \file cf_error.h 3 * \author myusgun <myusgun@gmail.com> 4 4 * 5 * @brief 오류코드 모음5 * \brief 오류코드 모음 6 6 */ 7 7 #ifndef __CF_ERROR_H__ -
trunk/include/cf_file.h
r116 r119 1 1 /** 2 * @file cf_file.h3 * @author myusgun <myusgun@gmail.com>2 * \file cf_file.h 3 * \author myusgun <myusgun@gmail.com> 4 4 * 5 * @brief 파일 입출력5 * \brief 파일 입출력 6 6 * 7 * @example file.c7 * \example file.c 8 8 */ 9 9 #ifndef __CF_FILE_H__ -
trunk/include/cf_list.h
r116 r119 1 1 /** 2 * @file cf_list.h3 * @author myusgun <myusgun@gmail.com>2 * \file cf_list.h 3 * \author myusgun <myusgun@gmail.com> 4 4 * 5 * @brief 연결 리스트5 * \brief 연결 리스트 6 6 * 7 * @example list.c7 * \example list.c 8 8 */ 9 9 #ifndef __CF_LIST_H__ -
trunk/include/cf_log.h
r116 r119 1 1 /** 2 * @file cf_log.h3 * @author myusgun <myusgun@gmail.com>2 * \file cf_log.h 3 * \author myusgun <myusgun@gmail.com> 4 4 * 5 * @brief 로그5 * \brief 로그 6 6 * 7 * @remarks7 * \remarks 8 8 * 매핑 ID 값을 이용하여 해당 로그에 기록 <br /> 9 9 * 로그 레벨을 적용할 때도 용이하며 define 이나 enumeration 등을 활용하면 좋음 10 10 * 11 * @example log.c11 * \example log.c 12 12 */ 13 13 #ifndef __CF_LOG_H__ -
trunk/include/cf_queue.h
r116 r119 1 1 /** 2 * @file cf_queue.h3 * @author myusgun <myusgun@gmail.com>2 * \file cf_queue.h 3 * \author myusgun <myusgun@gmail.com> 4 4 * 5 * @brief 큐5 * \brief 큐 6 6 * 7 * @example queue.c7 * \example queue.c 8 8 */ 9 9 #ifndef __CF_QUEUE_H__ -
trunk/include/cf_socket.h
r116 r119 1 1 /** 2 * @file cf_socket.h3 * @author myusgun <myusgun@gmail.com>2 * \file cf_socket.h 3 * \author myusgun <myusgun@gmail.com> 4 4 * 5 * @brief TCP 소켓 지원5 * \brief TCP 소켓 지원 6 6 * 7 * @example socket.c7 * \example socket.c 8 8 */ 9 9 #ifndef __CF_SOCKET_H__ -
trunk/include/cf_stack.h
r116 r119 1 1 /** 2 * @file cf_stack.h3 * @author myusgun <myusgun@gmail.com>2 * \file cf_stack.h 3 * \author myusgun <myusgun@gmail.com> 4 4 * 5 * @brief 스택5 * \brief 스택 6 6 * 7 * @example stack.c7 * \example stack.c 8 8 */ 9 9 #ifndef __CF_STACK_H__ -
trunk/include/cf_thread.h
r116 r119 1 1 /** 2 * @file cf_thread.h3 * @author myusgun <myusgun@gmail.com>2 * \file cf_thread.h 3 * \author myusgun <myusgun@gmail.com> 4 4 * 5 * @brief 멀티스레드 및 뮤텍스 지원5 * \brief 멀티스레드 및 뮤텍스 지원 6 6 * 7 * @example thread.c7 * \example thread.c 8 8 */ 9 9 #ifndef __CF_THREAD_H__ -
trunk/makeinclude/platform.mk
r97 r119 7 7 UNAME_V := $(shell uname -v) 8 8 UNAME_A := $(shell uname -a) 9 DOXYGEN := $(shell which doxygen) 9 10 10 11 #------------------------------------------------------------ 11 12 # set options 12 13 #------------------------------------------------------------ 13 ifeq ($(DEBUG), true)14 ifeq ($(DEBUG), YES) 14 15 DEFS = -D_DEBUG 15 16 FLAG = -g -
trunk/makeinclude/userdefine.mk
r73 r119 1 1 #------------------------------------------------------------ 2 # user defin e2 # user definition 3 3 #------------------------------------------------------------ 4 VER = 64 5 DEBUG = true 4 5 # os-version 6 # > 32 or 64 7 VER = 64 8 9 # compile with debugging flag and definition 10 # > YES or NO 11 DEBUG = YES 12 13 # create doxygen documents automatically 14 # > YES or NO 15 DOXYGEN_CREATE = YES -
trunk/src/cf_codec.c
r117 r119 1 1 /** 2 * @file cf_codec.c3 * @author myusgun <myusgun@gmail.com>4 * 5 * @brief 데이터 변환 구현2 * \file cf_codec.c 3 * \author myusgun <myusgun@gmail.com> 4 * 5 * \brief 데이터 변환 구현 6 6 */ 7 7 #include "cf_codec.h" … … 72 72 * hex-encode 73 73 * 74 * @return 성공 시, CF_OK; 실패 시, 오류 코드75 * 76 * @param bin 바이너리 데이터77 * @param len 바이너리 데이터의 길이78 * @param hex 16진수 문자열을 저장할 주소79 * 80 * @remarks74 * \return 성공 시, CF_OK; 실패 시, 오류 코드 75 * 76 * \param bin 바이너리 데이터 77 * \param len 바이너리 데이터의 길이 78 * \param hex 16진수 문자열을 저장할 주소 79 * 80 * \remarks 81 81 * hex는 할당된 메모리이며, 크기는 '\0'를 제외하고 len * 2 82 82 */ … … 112 112 * hex-decode 113 113 * 114 * @return 성공 시, 디코딩된 바이너리 데이터의 길이; 실패 시, 오류 코드115 * 116 * @param hex 16진수 문자열117 * @param bin 바이너리 데이터를 저장할 주소118 * @param len 바이너리 데이터의 길이를 저장할 주소119 * 120 * @remarks114 * \return 성공 시, 디코딩된 바이너리 데이터의 길이; 실패 시, 오류 코드 115 * 116 * \param hex 16진수 문자열 117 * \param bin 바이너리 데이터를 저장할 주소 118 * \param len 바이너리 데이터의 길이를 저장할 주소 119 * 120 * \remarks 121 121 * bin는 할당된 메모리이며, 크기는 strlen (hex) / 2 122 122 */ … … 178 178 * Base64-encode 179 179 * 180 * @return 성공 시, CF_OK; 실패 시, 오류 코드181 * 182 * @param bin 바이너리 데이터183 * @param len 바이너리 데이터 길이184 * @param base64 base64 문자열을 저장할 주소185 * 186 * @remarks180 * \return 성공 시, CF_OK; 실패 시, 오류 코드 181 * 182 * \param bin 바이너리 데이터 183 * \param len 바이너리 데이터 길이 184 * \param base64 base64 문자열을 저장할 주소 185 * 186 * \remarks 187 187 * base64는 할당된 메모리이며, 크기는 '\0'를 제외하고 ((len + 2) / 3) * 4 188 188 */ … … 241 241 * Base64-decode 242 242 * 243 * @return 성공 시, 디코딩된 바이너리 데이터의 길이; 실패 시, 오류 코드244 * 245 * @param base64 base64 문자열246 * @param bin 바이너리 데이터를 저장할 주소247 * @param len 바이너리 데이터의 길이를 저장할 주소248 * 249 * @remarks243 * \return 성공 시, 디코딩된 바이너리 데이터의 길이; 실패 시, 오류 코드 244 * 245 * \param base64 base64 문자열 246 * \param bin 바이너리 데이터를 저장할 주소 247 * \param len 바이너리 데이터의 길이를 저장할 주소 248 * 249 * \remarks 250 250 * base64는 할당된 메모리이며, 크기는 (strlen (base64)) / 4 * 3 251 251 */ -
trunk/src/cf_debug.c
r117 r119 1 1 /** 2 * @file cf_debug.c3 * @author myusgun <myusgun@gmail.com>4 * 5 * @brief 디버그 유틸 구현2 * \file cf_debug.c 3 * \author myusgun <myusgun@gmail.com> 4 * 5 * \brief 디버그 유틸 구현 6 6 */ 7 7 #include "cf_debug.h" … … 112 112 * 디버그 메시지를 지정된 파일 포인터로 출력 113 113 * 114 * @return 성공 시, CF_OK; 실패 시, 오류 코드115 * 116 * @param fp 파일 포인터. 표준출력(stdout) 및 표준오류(stderr) 사용 가능117 * @param file 파일 경로118 * @param func 함수 이름119 * @param line 라인 넘버120 * @param fmt 포맷 스트링121 * @param ... 가변 인자122 * 123 * @see CF_DEBUG_PRINT114 * \return 성공 시, CF_OK; 실패 시, 오류 코드 115 * 116 * \param fp 파일 포인터. 표준출력(stdout) 및 표준오류(stderr) 사용 가능 117 * \param file 파일 경로 118 * \param func 함수 이름 119 * \param line 라인 넘버 120 * \param fmt 포맷 스트링 121 * \param ... 가변 인자 122 * 123 * \see CF_DEBUG_PRINT 124 124 */ 125 125 int … … 142 142 * 바이너리 데이터를 디버그 메시지와 함께 지정된 파일 포인터로 출력 143 143 * 144 * @return CF_OK 반환145 * 146 * @param fp 파일 포인터. 표준출력(stdout) 및 표준오류(stderr) 사용 가능147 * @param file 파일 경로148 * @param func 함수 이름149 * @param line 라인 넘버150 * @param bin 라인 넘버151 * @param len 바이너리 길이152 * @param fmt 포맷 스트링153 * @param ... 가변 인자154 * 155 * @see CF_DEBUG_PRINT_BIN144 * \return CF_OK 반환 145 * 146 * \param fp 파일 포인터. 표준출력(stdout) 및 표준오류(stderr) 사용 가능 147 * \param file 파일 경로 148 * \param func 함수 이름 149 * \param line 라인 넘버 150 * \param bin 라인 넘버 151 * \param len 바이너리 길이 152 * \param fmt 포맷 스트링 153 * \param ... 가변 인자 154 * 155 * \see CF_DEBUG_PRINT_BIN 156 156 */ 157 157 int … … 178 178 * 컨텍스트에 콜스택 푸시 179 179 * 180 * @return 성공 시, CF_OK; 실패 시, 오류 코드181 * 182 * @param ctx 디버그 컨텍스트183 * @param file 파일 경로184 * @param func 함수 이름185 * @param line 라인 넘버180 * \return 성공 시, CF_OK; 실패 시, 오류 코드 181 * 182 * \param ctx 디버그 컨텍스트 183 * \param file 파일 경로 184 * \param func 함수 이름 185 * \param line 라인 넘버 186 186 */ 187 187 static int … … 214 214 * 컨텍스트에서 콜스택에서 TOP을 제거하지 않고 가져옴 215 215 * 216 * @return 성공 시, CF_OK; 실패 시, 오류 코드217 * 218 * @param ctx 디버그 컨텍스트219 * @param callstack 콜스택 정보를 가져올 콜스택 데이터 구조체 포인터220 * 221 * @see CF_Debug_CallStack216 * \return 성공 시, CF_OK; 실패 시, 오류 코드 217 * 218 * \param ctx 디버그 컨텍스트 219 * \param callstack 콜스택 정보를 가져올 콜스택 데이터 구조체 포인터 220 * 221 * \see CF_Debug_CallStack 222 222 */ 223 223 static int … … 245 245 * 컨텍스트에서 콜스택 팝 246 246 * 247 * @return 성공 시, CF_OK; 실패 시, 오류 코드248 * 249 * @param ctx 디버그 컨텍스트250 * @param callstack 콜스택 정보를 가져올 콜스택 데이터 구조체 포인터251 * 252 * @see CF_Debug_CallStack247 * \return 성공 시, CF_OK; 실패 시, 오류 코드 248 * 249 * \param ctx 디버그 컨텍스트 250 * \param callstack 콜스택 정보를 가져올 콜스택 데이터 구조체 포인터 251 * 252 * \see CF_Debug_CallStack 253 253 */ 254 254 static int … … 277 277 * 디버그 컨텍스트를 해제 278 278 * 279 * @return 성공 시, CF_OK; 실패 시, 오류 코드280 * 281 * @param ctx 디버그 컨텍스트282 * 283 * @see CF_DEBUG_DESTROY_CTX279 * \return 성공 시, CF_OK; 실패 시, 오류 코드 280 * 281 * \param ctx 디버그 컨텍스트 282 * 283 * \see CF_DEBUG_DESTROY_CTX 284 284 */ 285 285 static int … … 304 304 * 디버그 컨텍스트를 생성 305 305 * 306 * @return 성공 시, CF_Debug_Ctx 형태의 컨텍스트; 실패 시, NULL307 * @see CF_DEBUG_CREATE_CTX306 * \return 성공 시, CF_Debug_Ctx 형태의 컨텍스트; 실패 시, NULL 307 * \see CF_DEBUG_CREATE_CTX 308 308 */ 309 309 static int … … 341 341 * 콜스택 매니저 초기화 (글로벌 컨텍스트) 342 342 * 343 * @return 성공 시, CF_OK; 실패 시, 오류 코드344 * 345 * @see CF_Debug_Finalize343 * \return 성공 시, CF_OK; 실패 시, 오류 코드 344 * 345 * \see CF_Debug_Finalize 346 346 */ 347 347 int … … 359 359 * 콜스택 매니저 해제 (글로벌 컨텍스트) 360 360 * 361 * @return 성공 시, CF_OK; 실패 시, 오류 코드361 * \return 성공 시, CF_OK; 실패 시, 오류 코드 362 362 */ 363 363 int … … 374 374 * 함수 진입을 명시 (글로벌 컨텍스트) 375 375 * 376 * @return 성공 시, CF_OK; 실패 시, 오류 코드377 * 378 * @param file 파일 경로379 * @param func 함수 이름380 * @param line 라인 넘버381 * 382 * @see CF_Debug_LeaveFunction376 * \return 성공 시, CF_OK; 실패 시, 오류 코드 377 * 378 * \param file 파일 경로 379 * \param func 함수 이름 380 * \param line 라인 넘버 381 * 382 * \see CF_Debug_LeaveFunction 383 383 */ 384 384 int … … 401 401 * 함수 종료를 명시 (글로벌 컨텍스트) 402 402 * 403 * @return 성공 시, CF_OK; 실패 시, 오류 코드404 * 405 * @see CF_Debug_EnterFunction403 * \return 성공 시, CF_OK; 실패 시, 오류 코드 404 * 405 * \see CF_Debug_EnterFunction 406 406 */ 407 407 int … … 422 422 * 현재 콜스택을 출력 (글로벌 컨텍스트) 423 423 * 424 * @return 성공 시, CF_OK; 실패 시, 오류 코드425 * 426 * @param fp 출력 할 파일 포인터424 * \return 성공 시, CF_OK; 실패 시, 오류 코드 425 * 426 * \param fp 출력 할 파일 포인터 427 427 */ 428 428 int -
trunk/src/cf_file.c
r117 r119 1 1 /** 2 * @file cf_file.c3 * @author myusgun <myusgun@gmail.com>4 * 5 * @brief 파일 입출력 구현2 * \file cf_file.c 3 * \author myusgun <myusgun@gmail.com> 4 * 5 * \brief 파일 입출력 구현 6 6 */ 7 7 #include "cf_file.h" … … 72 72 * 파일 열기 73 73 * 74 * @return 성공 시, 파일 디스크립터; 실패 시, 오류 코드75 * 76 * @param path 파일 경로77 * @param flag 파일 열기 플래그78 * 79 * @see CF_FILE_FLAG74 * \return 성공 시, 파일 디스크립터; 실패 시, 오류 코드 75 * 76 * \param path 파일 경로 77 * \param flag 파일 열기 플래그 78 * 79 * \see CF_FILE_FLAG 80 80 */ 81 81 int … … 100 100 * 파일 생성 101 101 * 102 * @return 성공 시, 파일 디스크립터; 실패 시, 오류 코드103 * 104 * @param path 파일 경로102 * \return 성공 시, 파일 디스크립터; 실패 시, 오류 코드 103 * 104 * \param path 파일 경로 105 105 */ 106 106 int … … 122 122 * 파일 닫기 123 123 * 124 * @return 성공 시, CF_OK; 실패 시, 오류 코드125 * 126 * @param fd 파일 디스크립터124 * \return 성공 시, CF_OK; 실패 시, 오류 코드 125 * 126 * \param fd 파일 디스크립터 127 127 */ 128 128 int … … 143 143 * 파일 읽기 144 144 * 145 * @return 성공 시, 읽은 바이트 수; 실패 시, 오류 코드146 * 147 * @param fd 파일 디스크립터148 * @param buf 데이터를 저장할 메모리149 * @param len 데이터를 저장할 메모리의 크기145 * \return 성공 시, 읽은 바이트 수; 실패 시, 오류 코드 146 * 147 * \param fd 파일 디스크립터 148 * \param buf 데이터를 저장할 메모리 149 * \param len 데이터를 저장할 메모리의 크기 150 150 */ 151 151 int … … 169 169 * 파일 쓰기 170 170 * 171 * @return 성공 시, CF_OK; 실패 시, 오류 코드172 * 173 * @param fd 파일 디스크립터174 * @param buf 데이터가 저장된 메모리175 * @param len 쓸 데이터의 길이171 * \return 성공 시, CF_OK; 실패 시, 오류 코드 172 * 173 * \param fd 파일 디스크립터 174 * \param buf 데이터가 저장된 메모리 175 * \param len 쓸 데이터의 길이 176 176 */ 177 177 int … … 195 195 * 파일 크기 얻기 196 196 * 197 * @return 성공 시, 파일 크기; 실패 시, 오류 코드198 * 199 * @param path 파일 경로197 * \return 성공 시, 파일 크기; 실패 시, 오류 코드 198 * 199 * \param path 파일 경로 200 200 */ 201 201 int … … 223 223 * 파일 및 디렉터리 존재 여부 검사 224 224 * 225 * @return 존재 시, CF_TRUE; 아니면, CF_FALSE226 * 227 * @param path 파일 및 디렉터리 경로225 * \return 존재 시, CF_TRUE; 아니면, CF_FALSE 226 * 227 * \param path 파일 및 디렉터리 경로 228 228 */ 229 229 CF_BOOL … … 236 236 * 디렉터리 생성 237 237 * 238 * @return 성공 시, CF_OK; 실패 시, 오류 코드239 * 240 * @param path 생성할 디렉터리 경로238 * \return 성공 시, CF_OK; 실패 시, 오류 코드 239 * 240 * \param path 생성할 디렉터리 경로 241 241 */ 242 242 int -
trunk/src/cf_list.c
r117 r119 1 1 /** 2 * @file cf_list.c3 * @author myusgun <myusgun@gmail.com>4 * 5 * @brief 연결 리스트 구현2 * \file cf_list.c 3 * \author myusgun <myusgun@gmail.com> 4 * 5 * \brief 연결 리스트 구현 6 6 */ 7 7 #include "cf_list.h" … … 42 42 * 리스트 컨텍스트 생성 43 43 * 44 * @return 성공 시, CF_OK; 실패 시, 오류 코드45 * 46 * @param ctx 리스트 컨텍스트 포인터44 * \return 성공 시, CF_OK; 실패 시, 오류 코드 45 * 46 * \param ctx 리스트 컨텍스트 포인터 47 47 */ 48 48 int … … 65 65 * 리스트 컨텍스트 해제 66 66 * 67 * @return 성공 시, CF_OK; 실패 시, 오류 코드68 * 69 * @param ctx 리스트 컨텍스트67 * \return 성공 시, CF_OK; 실패 시, 오류 코드 68 * 69 * \param ctx 리스트 컨텍스트 70 70 */ 71 71 int … … 86 86 * 리스트 탐색자(Traverser)를 Front 위치로 설정 87 87 * 88 * @return 성공 시, CF_OK; 실패 시, 오류 코드89 * 90 * @param ctx 리스트 컨텍스트91 * @param traverser 리스트 탐색자 주소88 * \return 성공 시, CF_OK; 실패 시, 오류 코드 89 * 90 * \param ctx 리스트 컨텍스트 91 * \param traverser 리스트 탐색자 주소 92 92 */ 93 93 int … … 108 108 * 리스트 탐색자(Traverser)를 Rear 위치로 설정 109 109 * 110 * @return 성공 시, CF_OK; 실패 시, 오류 코드111 * 112 * @param ctx 리스트 컨텍스트113 * @param traverser 리스트 탐색자 주소110 * \return 성공 시, CF_OK; 실패 시, 오류 코드 111 * 112 * \param ctx 리스트 컨텍스트 113 * \param traverser 리스트 탐색자 주소 114 114 */ 115 115 int … … 130 130 * 리스트에 새 데이터 삽입 131 131 * 132 * @return 성공 시, CF_OK; 실패 시, 오류 코드133 * 134 * @param ctx 리스트 컨텍스트135 * @param traverser 리스트 탐색자136 * @param direction 탐색자의 전/후를 지정137 * @param element 삽입할 데이터 주소138 * 139 * @remarks132 * \return 성공 시, CF_OK; 실패 시, 오류 코드 133 * 134 * \param ctx 리스트 컨텍스트 135 * \param traverser 리스트 탐색자 136 * \param direction 탐색자의 전/후를 지정 137 * \param element 삽입할 데이터 주소 138 * 139 * \remarks 140 140 * traverser가 NULL일 때, 141 141 * direction이 CF_DIRECTION_BEFORE라면 Front 위치이고 … … 210 210 * 리스트에서 탐색자 위치의 항목을 삭제 211 211 * 212 * @return 성공 시, CF_OK; 실패 시, 오류 코드213 * 214 * @param ctx 리스트 컨텍스트215 * @param traverser 리스트 탐색자 주소212 * \return 성공 시, CF_OK; 실패 시, 오류 코드 213 * 214 * \param ctx 리스트 컨텍스트 215 * \param traverser 리스트 탐색자 주소 216 216 */ 217 217 int … … 257 257 * 리스트에서 모든 항목을 삭제 258 258 * 259 * @return 성공 시, CF_OK; 실패 시, 오류 코드260 * 261 * @param ctx 리스트 컨텍스트259 * \return 성공 시, CF_OK; 실패 시, 오류 코드 260 * 261 * \param ctx 리스트 컨텍스트 262 262 */ 263 263 int … … 280 280 * 탐색자 위치의 데이터를 가져옴 281 281 * 282 * @return 성공 시, CF_OK; 실패 시, 오류 코드283 * 284 * @param traverser 리스트 탐색자285 * @param element 데이터 주소282 * \return 성공 시, CF_OK; 실패 시, 오류 코드 283 * 284 * \param traverser 리스트 탐색자 285 * \param element 데이터 주소 286 286 */ 287 287 int … … 302 302 * 탐색자 위치를 이전으로 이동 303 303 * 304 * @return 성공 시, CF_OK; 실패 시, 오류 코드305 * 306 * @param traverser 리스트 탐색자 주소304 * \return 성공 시, CF_OK; 실패 시, 오류 코드 305 * 306 * \param traverser 리스트 탐색자 주소 307 307 */ 308 308 int … … 325 325 * 탐색자 위치를 다음으로 이동 326 326 * 327 * @return 성공 시, CF_OK; 실패 시, 오류 코드328 * 329 * @param traverser 리스트 탐색자 주소327 * \return 성공 시, CF_OK; 실패 시, 오류 코드 328 * 329 * \param traverser 리스트 탐색자 주소 330 330 */ 331 331 int … … 348 348 * 리스트에 등록된 항목의 수를 가져옴 349 349 * 350 * @return 성공 시, 항목 수; 실패 시, 오류 코드351 * 352 * @param ctx 리스트 컨텍스트350 * \return 성공 시, 항목 수; 실패 시, 오류 코드 351 * 352 * \param ctx 리스트 컨텍스트 353 353 */ 354 354 int -
trunk/src/cf_local.h
r109 r119 1 1 /** 2 * @file cf_local.h3 * @author myusgun <myusgun@gmail.com>2 * \file cf_local.h 3 * \author myusgun <myusgun@gmail.com> 4 4 */ 5 5 #ifndef __CF_LOCAL_H__ -
trunk/src/cf_log.c
r117 r119 1 1 /** 2 * @file cf_log.c3 * @author myusgun <myusgun@gmail.com>4 * @author vfire5 * 6 * @brief 로그 구현2 * \file cf_log.c 3 * \author myusgun <myusgun@gmail.com> 4 * \author vfire 5 * 6 * \brief 로그 구현 7 7 */ 8 8 #if defined(_WIN32) || defined(_WIN64) … … 195 195 * 로그 데이터 처리 196 196 * 197 * @return 성공 시, CF_OK; 실패 시, 오류 코드198 * 199 * @param ctx 로그 컨텍스트200 * @param buffer 로그 데이터201 * @param demandSize 로그 데이터 길이202 * 203 * @author vfire197 * \return 성공 시, CF_OK; 실패 시, 오류 코드 198 * 199 * \param ctx 로그 컨텍스트 200 * \param buffer 로그 데이터 201 * \param demandSize 로그 데이터 길이 202 * 203 * \author vfire 204 204 */ 205 205 /* static */int … … 243 243 * 로그 컨텍스트에 멀티쓰레드 모드 설정 244 244 * 245 * @return 성공 시, CF_OK; 실패 시, 오류 코드246 * 247 * @param ctx 로그 컨텍스트248 * 249 * @see CF_Log_UnsetMultiThread245 * \return 성공 시, CF_OK; 실패 시, 오류 코드 246 * 247 * \param ctx 로그 컨텍스트 248 * 249 * \see CF_Log_UnsetMultiThread 250 250 */ 251 251 static int … … 265 265 * 로그 컨텍스트에 멀티쓰레드 모드 설정 해제 266 266 * 267 * @return 성공 시, CF_OK; 실패 시, 오류 코드268 * 269 * @param ctx 로그 컨텍스트270 * 271 * @see CF_Log_SetMultiThread267 * \return 성공 시, CF_OK; 실패 시, 오류 코드 268 * 269 * \param ctx 로그 컨텍스트 270 * 271 * \see CF_Log_SetMultiThread 272 272 */ 273 273 static int … … 287 287 * 로그 컨텍스트에 따라 로그 쓰기 288 288 * 289 * @return 성공 시, CF_OK; 실패 시, 오류 코드290 * 291 * @param ctx 로그 컨텍스트292 * @param prefix 로그의 프리픽스 문자열293 * @param fmt 포맷 스트링294 * @param ... 가변 인자289 * \return 성공 시, CF_OK; 실패 시, 오류 코드 290 * 291 * \param ctx 로그 컨텍스트 292 * \param prefix 로그의 프리픽스 문자열 293 * \param fmt 포맷 스트링 294 * \param ... 가변 인자 295 295 */ 296 296 static int … … 328 328 * 로그 버퍼의 데이터를 즉시 로그 파일에 쓰기 329 329 * 330 * @return 성공 시, CF_OK; 실패 시, 오류 코드331 * 332 * @param ctx 로그 컨텍스트330 * \return 성공 시, CF_OK; 실패 시, 오류 코드 331 * 332 * \param ctx 로그 컨텍스트 333 333 */ 334 334 static int … … 349 349 * 로그 컨텍스트 해제 350 350 * 351 * @return 성공 시, CF_OK; 실패 시, 오류 코드352 * 353 * @param ctx 로그 컨텍스트351 * \return 성공 시, CF_OK; 실패 시, 오류 코드 352 * 353 * \param ctx 로그 컨텍스트 354 354 */ 355 355 static int … … 379 379 * 로그 컨텍스트 생성 380 380 * 381 * @return 성공 시, 로그 컨텍스트; 실패 시, NULL382 * 383 * @param path 로그 파일 경로384 * @param memsize 로그 버퍼 크기385 * @param ctx 로그 컨텍스트 받을 주소386 * 387 * @see CF_LOG_DEFAULT_BUFFER, CF_LOG_NO_BUFFER381 * \return 성공 시, 로그 컨텍스트; 실패 시, NULL 382 * 383 * \param path 로그 파일 경로 384 * \param memsize 로그 버퍼 크기 385 * \param ctx 로그 컨텍스트 받을 주소 386 * 387 * \see CF_LOG_DEFAULT_BUFFER, CF_LOG_NO_BUFFER 388 388 */ 389 389 static int … … 445 445 * 로그 기록 시, 아이디 넘버를 사용하면 해당 로그로 기록할 수 있음 446 446 * 447 * @return 성공 시, CF_OK; 실패 시, 오류 코드448 * 449 * @param mapid 부여할 아이디 넘버450 * @param ctx 로그 컨텍스트451 * 452 * @remarks 반드시 먼저 초기화 해야하며, 초기화 시에 주어진 번호보다 작은 아이디 넘버를 사용453 * 454 * @see CF_LOG_OPEN, CF_Log_CreateCtx447 * \return 성공 시, CF_OK; 실패 시, 오류 코드 448 * 449 * \param mapid 부여할 아이디 넘버 450 * \param ctx 로그 컨텍스트 451 * 452 * \remarks 반드시 먼저 초기화 해야하며, 초기화 시에 주어진 번호보다 작은 아이디 넘버를 사용 453 * 454 * \see CF_LOG_OPEN, CF_Log_CreateCtx 455 455 */ 456 456 static int … … 470 470 * 아이디 넘버에 해당하는 로그를 닫고 해당하는 컨텍스트를 해제 471 471 * 472 * @return 성공 시, CF_OK; 실패 시, 오류 코드473 * 474 * @param mapid 로그의 아이디 넘버475 * 476 * @remarks 아이디 넘버에 해당하는 컨텍스트가 해제되므로 주의477 * 478 * @see CF_LOG_CLOSE, CF_Log_DestroyCtx472 * \return 성공 시, CF_OK; 실패 시, 오류 코드 473 * 474 * \param mapid 로그의 아이디 넘버 475 * 476 * \remarks 아이디 넘버에 해당하는 컨텍스트가 해제되므로 주의 477 * 478 * \see CF_LOG_CLOSE, CF_Log_DestroyCtx 479 479 */ 480 480 static int … … 496 496 * 아이디 넘버에 해당하는 로그 컨텍스트를 얻기 497 497 * 498 * @return 성공 시, CF_OK; 실패 시, 오류 코드499 * 500 * @param mapid 로그의 아이디 넘버501 * @param ctx 로그 컨텍스트 받을 주소498 * \return 성공 시, CF_OK; 실패 시, 오류 코드 499 * 500 * \param mapid 로그의 아이디 넘버 501 * \param ctx 로그 컨텍스트 받을 주소 502 502 */ 503 503 static int … … 517 517 * 로그를 사용하기 위해 초기화 518 518 * 519 * @return 성공 시, CF_OK; 실패 시, 오류 코드520 * 521 * @param poolSize 로그 풀 크기로, 로그 아이디 넘버의 최대 값519 * \return 성공 시, CF_OK; 실패 시, 오류 코드 520 * 521 * \param poolSize 로그 풀 크기로, 로그 아이디 넘버의 최대 값 522 522 */ 523 523 int … … 541 541 * 로그가 모두 사용된 후 자원 해제 542 542 * 543 * @return CF_OK 반환543 * \return CF_OK 반환 544 544 */ 545 545 int … … 564 564 * 로그 열기 565 565 * 566 * @return 성공 시, CF_OK; 실패 시, 오류 코드567 * 568 * @param mapid 로그의 아이디 넘버569 * @param path 로그 파일 경로570 * @param memsize 로그 버퍼 크기571 * 572 * @see CF_LOG_DEFAULT_BUFFER, CF_LOG_NO_BUFFER566 * \return 성공 시, CF_OK; 실패 시, 오류 코드 567 * 568 * \param mapid 로그의 아이디 넘버 569 * \param path 로그 파일 경로 570 * \param memsize 로그 버퍼 크기 571 * 572 * \see CF_LOG_DEFAULT_BUFFER, CF_LOG_NO_BUFFER 573 573 */ 574 574 int … … 594 594 * 로그 닫기 595 595 * 596 * @return 성공 시, CF_OK; 실패 시, 오류 코드597 * 598 * @param mapid 로그의 아이디 넘버596 * \return 성공 시, CF_OK; 실패 시, 오류 코드 597 * 598 * \param mapid 로그의 아이디 넘버 599 599 */ 600 600 int … … 607 607 * 로그 버퍼의 데이터를 즉시 로그 파일에 쓰기 608 608 * 609 * @return 성공 시, CF_OK; 실패 시, 오류 코드610 * 611 * @param mapid 로그의 아이디 넘버609 * \return 성공 시, CF_OK; 실패 시, 오류 코드 610 * 611 * \param mapid 로그의 아이디 넘버 612 612 */ 613 613 int … … 629 629 * 로그 컨텍스트에 멀티쓰레드 모드 설정 630 630 * 631 * @return 성공 시, CF_OK; 실패 시, 오류 코드632 * 633 * @param mapid 로그의 아이디 넘버634 * @param flag 설정/해제 bool 플래그635 * 636 * @see CF_BOOL631 * \return 성공 시, CF_OK; 실패 시, 오류 코드 632 * 633 * \param mapid 로그의 아이디 넘버 634 * \param flag 설정/해제 bool 플래그 635 * 636 * \see CF_BOOL 637 637 */ 638 638 int … … 656 656 * 로그 쓰기 657 657 * 658 * @return 성공 시, CF_OK; 실패 시, 오류 코드659 * 660 * @param mapid 로그의 아이디 넘버661 * @param prefix 로그의 프리픽스 문자열662 * @param fmt 포맷 스트링663 * @param ... 가변 인자658 * \return 성공 시, CF_OK; 실패 시, 오류 코드 659 * 660 * \param mapid 로그의 아이디 넘버 661 * \param prefix 로그의 프리픽스 문자열 662 * \param fmt 포맷 스트링 663 * \param ... 가변 인자 664 664 */ 665 665 int -
trunk/src/cf_queue.c
r117 r119 1 1 /** 2 * @file cf_queue.c3 * @author myusgun <myusgun@gmail.com>2 * \file cf_queue.c 3 * \author myusgun <myusgun@gmail.com> 4 4 * 5 * @brief 큐 구현5 * \brief 큐 구현 6 6 */ 7 7 #include "cf_queue.h" … … 14 14 * 큐 컨텍스트 생성 15 15 * 16 * @return 성공 시, CF_OK; 실패 시, 오류 코드16 * \return 성공 시, CF_OK; 실패 시, 오류 코드 17 17 * 18 * @param ctx 큐 컨텍스트 포인터18 * \param ctx 큐 컨텍스트 포인터 19 19 */ 20 20 int … … 27 27 * 큐 컨텍스트 해제 28 28 * 29 * @return 성공 시, CF_OK; 실패 시, 오류 코드29 * \return 성공 시, CF_OK; 실패 시, 오류 코드 30 30 * 31 * @param ctx 큐 컨텍스트31 * \param ctx 큐 컨텍스트 32 32 */ 33 33 int … … 40 40 * 큐에 삽입 41 41 * 42 * @return 성공 시, CF_OK; 실패 시, 오류 코드42 * \return 성공 시, CF_OK; 실패 시, 오류 코드 43 43 * 44 * @param ctx 큐 컨텍스트45 * @param element 데이터 주소44 * \param ctx 큐 컨텍스트 45 * \param element 데이터 주소 46 46 */ 47 47 int … … 63 63 * 큐에서 꺼내기 64 64 * 65 * @return 성공 시, CF_OK; 실패 시, 오류 코드65 * \return 성공 시, CF_OK; 실패 시, 오류 코드 66 66 * 67 * @param ctx 큐 컨텍스트68 * @param element 데이터 주소67 * \param ctx 큐 컨텍스트 68 * \param element 데이터 주소 69 69 */ 70 70 int … … 90 90 * 큐 처음의 데이터 조회 91 91 * 92 * @return 성공 시, CF_OK; 실패 시, 오류 코드92 * \return 성공 시, CF_OK; 실패 시, 오류 코드 93 93 * 94 * @param ctx 큐 컨텍스트95 * @param element 데이터 주소94 * \param ctx 큐 컨텍스트 95 * \param element 데이터 주소 96 96 */ 97 97 int … … 113 113 * 큐에 등록된 항목의 수를 가져옴 114 114 * 115 * @return 성공 시, 항목 수; 실패 시, 오류 코드115 * \return 성공 시, 항목 수; 실패 시, 오류 코드 116 116 * 117 * @param ctx 큐 컨텍스트117 * \param ctx 큐 컨텍스트 118 118 */ 119 119 int -
trunk/src/cf_socket.c
r117 r119 1 1 /** 2 * @file cf_socket.c3 * @author myusgun <myusgun@gmail.com>4 * 5 * @brief TCP 소켓 구현2 * \file cf_socket.c 3 * \author myusgun <myusgun@gmail.com> 4 * 5 * \brief TCP 소켓 구현 6 6 */ 7 7 #include "cf_socket.h" … … 136 136 * 소켓의 초기화 상태 확인 137 137 * 138 * @return 초기화 된 경우, CF_TRUE; 그렇지 않은 경우, CF_FALSE138 * \return 초기화 된 경우, CF_TRUE; 그렇지 않은 경우, CF_FALSE 139 139 */ 140 140 CF_BOOL … … 147 147 * 소켓 초기화 148 148 * 149 * @return 성공 시, CF_OK; 실패 시, 오류 코드149 * \return 성공 시, CF_OK; 실패 시, 오류 코드 150 150 */ 151 151 int … … 165 165 * 소켓 해제 166 166 * 167 * @return 성공 시, CF_OK; 실패 시, 오류 코드167 * \return 성공 시, CF_OK; 실패 시, 오류 코드 168 168 */ 169 169 int … … 183 183 * 소켓 닫기 184 184 * 185 * @return 성공 시, CF_OK; 실패 시, 오류 코드186 * 187 * @param sock 소켓185 * \return 성공 시, CF_OK; 실패 시, 오류 코드 186 * 187 * \param sock 소켓 188 188 */ 189 189 int … … 205 205 * 소켓 옵션 설정 206 206 * 207 * @return 성공 시 CF_OK; 실패 시, 오류 코드208 * 209 * @param sock 소켓210 * @param optname 옵션 이름211 * @param optval 설정할 옵션 값의 메모리212 * @param optlen 설정할 옵션의 길이207 * \return 성공 시 CF_OK; 실패 시, 오류 코드 208 * 209 * \param sock 소켓 210 * \param optname 옵션 이름 211 * \param optval 설정할 옵션 값의 메모리 212 * \param optlen 설정할 옵션의 길이 213 213 */ 214 214 int … … 240 240 * 소켓 옵션 얻기 241 241 * 242 * @return 성공 시 CF_OK; 실패 시, 오류 코드243 * 244 * @param sock 소켓245 * @param optname 옵션 이름246 * @param optval 옵션 값을 가져올 메모리247 * @param optlen 옵션 길이를 가져올 메모리242 * \return 성공 시 CF_OK; 실패 시, 오류 코드 243 * 244 * \param sock 소켓 245 * \param optname 옵션 이름 246 * \param optval 옵션 값을 가져올 메모리 247 * \param optlen 옵션 길이를 가져올 메모리 248 248 */ 249 249 int … … 275 275 * 소켓 연결 276 276 * 277 * @return 성공 시, 연결된 소켓; 실패 시, 오류 코드278 * 279 * @param ip 연결할 호스트의 주소 (도메인 이름 가능)280 * @param port 연결할 호스트의 포트번호277 * \return 성공 시, 연결된 소켓; 실패 시, 오류 코드 278 * 279 * \param ip 연결할 호스트의 주소 (도메인 이름 가능) 280 * \param port 연결할 호스트의 포트번호 281 281 */ 282 282 int … … 290 290 * 타임아웃 동안 소켓 연결 291 291 * 292 * @return 성공 시, 연결된 소켓; 실패 시, 오류 코드293 * 294 * @param ip 연결할 호스트의 주소 (도메인 이름 가능)295 * @param port 연결할 호스트의 포트번호296 * @param timeout 타임아웃 (초)297 * 298 * @see CF_SOCKET_NO_TIMEOUT292 * \return 성공 시, 연결된 소켓; 실패 시, 오류 코드 293 * 294 * \param ip 연결할 호스트의 주소 (도메인 이름 가능) 295 * \param port 연결할 호스트의 포트번호 296 * \param timeout 타임아웃 (초) 297 * 298 * \see CF_SOCKET_NO_TIMEOUT 299 299 */ 300 300 int … … 422 422 * 서버 열기 423 423 * 424 * @return 성공 시, 서버 소켓; 실패 시, 오류 코드425 * 426 * @param port 서버 포트427 * @param backlog listen 시의 backlog 수424 * \return 성공 시, 서버 소켓; 실패 시, 오류 코드 425 * 426 * \param port 서버 포트 427 * \param backlog listen 시의 backlog 수 428 428 */ 429 429 int … … 480 480 * 소켓 연결 481 481 * 482 * @return 성공 시, 연결된 소켓; 실패 시, 오류 코드483 * 484 * @param sock 서버 소켓485 * 486 * @see CF_Socket_HostInfo482 * \return 성공 시, 연결된 소켓; 실패 시, 오류 코드 483 * 484 * \param sock 서버 소켓 485 * 486 * \see CF_Socket_HostInfo 487 487 */ 488 488 int … … 505 505 * 데이터 송신 506 506 * 507 * @return 성공 시, CF_OK; 실패 시, 오류 코드508 * 509 * @param sock 소켓510 * @param buf 송신할 데이터511 * @param len 송신할 데이터의 길이507 * \return 성공 시, CF_OK; 실패 시, 오류 코드 508 * 509 * \param sock 소켓 510 * \param buf 송신할 데이터 511 * \param len 송신할 데이터의 길이 512 512 */ 513 513 int … … 522 522 * 타임아웃 동안 데이터 송신 523 523 * 524 * @return 성공 시, CF_OK; 실패 시, 오류 코드525 * 526 * @param sock 소켓527 * @param buf 송신할 데이터528 * @param len 송신할 데이터의 길이529 * @param timeout 타임아웃 (초)530 * 531 * @see CF_SOCKET_NO_TIMEOUT524 * \return 성공 시, CF_OK; 실패 시, 오류 코드 525 * 526 * \param sock 소켓 527 * \param buf 송신할 데이터 528 * \param len 송신할 데이터의 길이 529 * \param timeout 타임아웃 (초) 530 * 531 * \see CF_SOCKET_NO_TIMEOUT 532 532 */ 533 533 int … … 551 551 * 데이터 수신 552 552 * 553 * @return 성공 시, 수신한 데이터의 길이; 실패 시, 오류 코드554 * 555 * @param sock 소켓556 * @param buf 데이터를 수신할 버퍼557 * @param len 데이터를 수신할 버퍼의 최대 크기553 * \return 성공 시, 수신한 데이터의 길이; 실패 시, 오류 코드 554 * 555 * \param sock 소켓 556 * \param buf 데이터를 수신할 버퍼 557 * \param len 데이터를 수신할 버퍼의 최대 크기 558 558 */ 559 559 int … … 568 568 * 타임아웃 동안 데이터 수신 569 569 * 570 * @return 성공 시, 수신한 데이터의 길이; 실패 시, 오류 코드571 * 572 * @param sock 소켓573 * @param buf 데이터를 수신할 버퍼574 * @param len 데이터를 수신할 버퍼의 최대 크기575 * @param timeout 타임아웃 (초)576 * 577 * @see CF_SOCKET_NO_TIMEOUT570 * \return 성공 시, 수신한 데이터의 길이; 실패 시, 오류 코드 571 * 572 * \param sock 소켓 573 * \param buf 데이터를 수신할 버퍼 574 * \param len 데이터를 수신할 버퍼의 최대 크기 575 * \param timeout 타임아웃 (초) 576 * 577 * \see CF_SOCKET_NO_TIMEOUT 578 578 */ 579 579 int -
trunk/src/cf_stack.c
r117 r119 1 1 /** 2 * @file cf_stack.c3 * @author myusgun <myusgun@gmail.com>2 * \file cf_stack.c 3 * \author myusgun <myusgun@gmail.com> 4 4 * 5 * @brief 스택 구현5 * \brief 스택 구현 6 6 */ 7 7 #include "cf_stack.h" … … 14 14 * 스택 컨텍스트 생성 15 15 * 16 * @return 성공 시, CF_OK; 실패 시, 오류 코드16 * \return 성공 시, CF_OK; 실패 시, 오류 코드 17 17 * 18 * @param ctx 스택 컨텍스트 포인터18 * \param ctx 스택 컨텍스트 포인터 19 19 */ 20 20 int … … 27 27 * 스택 컨텍스트 해제 28 28 * 29 * @return 성공 시, CF_OK; 실패 시, 오류 코드29 * \return 성공 시, CF_OK; 실패 시, 오류 코드 30 30 * 31 * @param ctx 스택 컨텍스트31 * \param ctx 스택 컨텍스트 32 32 */ 33 33 int … … 40 40 * 스택에 삽입 41 41 * 42 * @return 성공 시, CF_OK; 실패 시, 오류 코드42 * \return 성공 시, CF_OK; 실패 시, 오류 코드 43 43 * 44 * @param ctx 스택 컨텍스트45 * @param element 데이터 주소44 * \param ctx 스택 컨텍스트 45 * \param element 데이터 주소 46 46 */ 47 47 int … … 63 63 * 스택에서 꺼내기 64 64 * 65 * @return 성공 시, CF_OK; 실패 시, 오류 코드65 * \return 성공 시, CF_OK; 실패 시, 오류 코드 66 66 * 67 * @param ctx 스택 컨텍스트68 * @param element 데이터 주소67 * \param ctx 스택 컨텍스트 68 * \param element 데이터 주소 69 69 */ 70 70 int … … 90 90 * 스택 최상위의 데이터 조회 91 91 * 92 * @return 성공 시, CF_OK; 실패 시, 오류 코드92 * \return 성공 시, CF_OK; 실패 시, 오류 코드 93 93 * 94 * @param ctx 스택 컨텍스트95 * @param element 데이터 주소94 * \param ctx 스택 컨텍스트 95 * \param element 데이터 주소 96 96 */ 97 97 int … … 113 113 * 스택에 등록된 항목의 수를 가져옴 114 114 * 115 * @return 성공 시, 항목 수; 실패 시, 오류 코드115 * \return 성공 시, 항목 수; 실패 시, 오류 코드 116 116 * 117 * @param ctx 스택 컨텍스트117 * \param ctx 스택 컨텍스트 118 118 */ 119 119 int -
trunk/src/cf_thread.c
r117 r119 1 1 /** 2 * @file cf_thread.c3 * @author myusgun <myusgun@gmail.com>4 * 5 * @brief 멀티 스레드 및 뮤텍스 구현2 * \file cf_thread.c 3 * \author myusgun <myusgun@gmail.com> 4 * 5 * \brief 멀티 스레드 및 뮤텍스 구현 6 6 */ 7 7 #include "cf_thread.h" … … 51 51 * 스레드를 생성 52 52 * 53 * @return 성공 시, CF_OK; 실패 시, 오류 코드54 * 55 * @param threadID 스레드 아이디 주소56 * @param callback 스레드 워커 함수 이름57 * @param arg 스레드 함수로 전달할 인자58 * 59 * @remarks53 * \return 성공 시, CF_OK; 실패 시, 오류 코드 54 * 55 * \param threadID 스레드 아이디 주소 56 * \param callback 스레드 워커 함수 이름 57 * \param arg 스레드 함수로 전달할 인자 58 * 59 * \remarks 60 60 * pthread(POSIX Thread)에서 지원되는 스케줄링 정책은 SCHED_OTHER, SCHED_FIFO, SCHED_RR 등이 존재 <br /> 61 61 * 일반적으로 설정되는 스케줄링 정책의 기본값은 SCHED_OTHER이며, 솔라리스 환경에서 SCHED_OTHER는 TS(timesharing) 방식으로 명시되어 있음 <br /> … … 124 124 * 스레드 아이디를 해제 125 125 * 126 * @return 성공 시, CF_OK; 실패 시, 오류 코드127 * 128 * @param threadID 스레드 아이디 주소129 * 130 * @remarks 스레드 아이디를 해제하는 것이며 워커 스레드가 종료되지 않음126 * \return 성공 시, CF_OK; 실패 시, 오류 코드 127 * 128 * \param threadID 스레드 아이디 주소 129 * 130 * \remarks 스레드 아이디를 해제하는 것이며 워커 스레드가 종료되지 않음 131 131 */ 132 132 int … … 141 141 * 스레드가 종료될 때 까지 대기 142 142 * 143 * @return CF_OK 반환144 * 145 * @param threadID 스레드 아이디 주소143 * \return CF_OK 반환 144 * 145 * \param threadID 스레드 아이디 주소 146 146 */ 147 147 int … … 163 163 * 뮤텍스 생성 164 164 * 165 * @return 성공 시, CF_OK; 실패 시, 오류 코드166 * 167 * @param mutex 뮤텍스 아이디 주소168 * 169 * @see CF_Thread_Create165 * \return 성공 시, CF_OK; 실패 시, 오류 코드 166 * 167 * \param mutex 뮤텍스 아이디 주소 168 * 169 * \see CF_Thread_Create 170 170 */ 171 171 int … … 194 194 * 뮤텍스 해제 195 195 * 196 * @return 성공 시, CF_OK; 실패 시, 오류 코드197 * 198 * @param mutex 뮤텍스 아이디 주소196 * \return 성공 시, CF_OK; 실패 시, 오류 코드 197 * 198 * \param mutex 뮤텍스 아이디 주소 199 199 */ 200 200 int … … 213 213 * 뮤텍스 잠금 214 214 * 215 * @return 성공 시, CF_OK; 실패 시, 오류 코드216 * 217 * @param mutex 뮤텍스 아이디 주소215 * \return 성공 시, CF_OK; 실패 시, 오류 코드 216 * 217 * \param mutex 뮤텍스 아이디 주소 218 218 */ 219 219 int … … 234 234 * 뮤텍스 잠금 해제 235 235 * 236 * @return 성공 시, CF_OK; 실패 시, 오류 코드237 * 238 * @param mutex 뮤텍스 아이디 주소236 * \return 성공 시, CF_OK; 실패 시, 오류 코드 237 * 238 * \param mutex 뮤텍스 아이디 주소 239 239 */ 240 240 int -
trunk/src/makefile
r109 r119 27 27 SRCS = $(addsuffix .$(SOURCE_TYPE),$(FILES)) 28 28 OBJS = $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES))) 29 DOXYGEN_PATH = ../docs 30 DOXYGEN_FILE = $(DOXYGEN_PATH)/doxyfile 29 31 30 32 INCLUDES = -I../include … … 33 35 # label 34 36 #---------------------------------------------------------- 35 all: $(OBJ_PATH) $(TARGET_PATH) $(TARGET) 37 all: $(OBJ_PATH) $(TARGET_PATH) $(TARGET) doxygen 36 38 @echo ========== Complete LIBCF compilation ========== 37 39 $(TARGET_PATH): dummy … … 51 53 $(CC) $(CFLAGS) $(CDEFS) $(INCLUDES) -o $@ -c $? 52 54 55 # doxygen 56 doxygen: dummy 57 ifeq ($(DOXYGEN_CREATE),YES) 58 ifeq ($(DOXYGEN),) 59 @echo "doxygen was not found." 60 else 61 @echo "========== DOXYGEN DOCUMENTATION ==========" 62 cd $(DOXYGEN_PATH); $(DOXYGEN) $(DOXYGEN_FILE); cat warning.log; 63 endif 64 endif 65 53 66 clean: dummy 54 67 rm -rf $(TARGET_PATH) $(OBJ_PATH) 68 ifeq ($(DOXYGEN_CREATE),YES) 69 rm -rf ../documentation 70 endif 55 71 56 72 dummy: 57
Note:
See TracChangeset
for help on using the changeset viewer.