5.2 KiB
5.2 KiB
C 파일 상세 분석
파일별 상세 분석
api_handler.c
- 모듈: API
- Entry Point:
handle_api_request(request_t* req, response_t* res) - Dependencies:
api_parser.c,api_validator.c,api_router.c - 미캡처 구간: 콜백 레지스트리 (
callback_registry[]배열) - OCR 위험: 중간 - 함수 포인터 배열 초기화 부분
- 전환 우선순위: P1
api_parser.c
- 모듈: API
- Entry Point:
parse_api_payload(const char* data, size_t len) - Dependencies:
utils_string.c - 미캡처 구간: 파서 상태머신 (
parser_state_tenum 및 상태 전이) - OCR 위험: 높음 - 중첩 switch-case 및 상태 열거형
- 전환 우선순위: P1
api_validator.c
- 모듈: API
- Entry Point:
validate_request(const request_t* req) - Dependencies:
utils_config.c - 미캡처 구간: 스키마 검증 로직 (정규식 패턴 매칭)
- OCR 위험: 낮음 - 비교적 단순한 검증 로직
- 전환 우선순위: P2
api_router.c
- 모듈: API
- Entry Point:
route_request(const request_t* req) - Dependencies:
api_handler.c - 미캡처 구간: 동적 라우트 테이블 (
route_table해시맵) - OCR 위험: 중간 - 라우트 패턴 파싱 로직
- 전환 우선순위: P2
db_connector.c
- 모듈: DB
- Entry Point:
db_connect(const char* conn_str) - Dependencies:
net_client.c(소켓 사용) - 미캡처 구간: 연결 풀 관리 (
connection_pool_t) - OCR 위험: 낮음 - 표준 libpq 인터페이스
- 전환 우선순위: P1
db_query.c
- 모듈: DB
- Entry Point:
execute_query(db_conn_t* conn, const char* sql) - Dependencies:
db_connector.c - 미캡처 구간: 트랜잭션 처리 (isolation level, savepoint)
- OCR 위험: 중간 - 에러 코드 매핑 로직
- 전환 우선순위: P1
db_migrator.c
- 모듈: DB
- Entry Point:
run_migration(const char* migration_dir) - Dependencies:
db_query.c,utils_logger.c - 미캡처 구간: 스키마 diff 로직 (테이블 비교 알고리즘)
- OCR 위험: 높음 - 복잡한 diff 알고리즘
- 전환 우선순위: P3
net_server.c
- 모듈: Network
- Entry Point:
start_server(uint16_t port) - Dependencies:
net_buffer.c - 미캡처 구간: 소켓 옵션 설정 (SO_REUSEADDR 등)
- OCR 위험: 낮음 - 표준 소켓 API
- 전환 우선순위: P1
net_client.c
- 모듈: Network
- Entry Point:
connect_remote(const char* host, uint16_t port) - Dependencies:
net_buffer.c,crypto_cipher.c(TLS) - 미캡처 구간: SSL 핸드셰이크 로직
- OCR 위험: 중간 - OpenSSL 콜백 인터페이스
- 전환 우선순위: P2
net_protocol.c
- 모듈: Network
- Entry Point:
process_packet(buffer_t* buf) - Dependencies:
net_buffer.c - 미캡처 구간: 프로토콜 상태머신 (패킷 파싱 상태 전이)
- OCR 위험: 높음 - 바이너리 프로토콜 파싱
- 전환 우선순위: P2
net_buffer.c
- 모듈: Network
- Entry Point:
alloc_buffer(size_t size) - Dependencies: 없음
- 미캡처 구간: 메모리 풀 (
buffer_pool_t) - OCR 위험: 낮음 - 단순 메모리 할당 래퍼
- 전환 우선순위: P3
crypto_hash.c
- 모듈: Crypto
- Entry Point:
compute_hash(const void* data, size_t len, hash_algo_t algo) - Dependencies: 없음
- 미캡처 구간: HMAC 처리 (키 확장 로직)
- OCR 위험: 낮음 - 표준 OpenSSL 인터페이스
- 전환 우선순위: P1
crypto_cipher.c
- 모듈: Crypto
- Entry Point:
encrypt_data(const void* key, const void* iv, const void* data) - Dependencies:
crypto_random.c - 미캡처 구간: 키 관리 (키 롤링, 스토어)
- OCR 위험: 중간 - 키 파생 함수
- 전환 우선순위: P2
crypto_random.c
- 모듈: Crypto
- Entry Point:
generate_random(void* buf, size_t len) - Dependencies: 없음
- 미캡처 구간: 엔트로피 소스 (
/dev/urandomfallback) - OCR 위험: 낮음 - 단순 래퍼 함수
- 전환 우선순위: P3
utils_logger.c
- 모듈: Utils
- Entry Point:
log_message(log_level_t level, const char* fmt, ...) - Dependencies:
utils_string.c - 미캡처 구간: 로그 로테이션 (파일 크기 기반)
- OCR 위험: 낮음 - 표준 파일 I/O
- 전환 우선순위: P2
utils_config.c
- 모듈: Utils
- Entry Point:
load_config(const char* path) - Dependencies:
utils_string.c - 미캡처 구간: 설정 파싱 (INI/JSON 섹션 처리)
- OCR 위험: 중간 - 토큰 파싱 로직
- 전환 우선순위: P2
utils_timer.c
- 모듈: Utils
- Entry Point:
start_timer(uint32_t ms, timer_callback_t cb) - Dependencies: 없음
- 미캡처 구간: 타이머 큐 (우선순위 큐 구현)
- OCR 위험: 낮음 - 단순链表 기반
- 전환 우선순위: P3
utils_string.c
- 모듈: Utils
- Entry Point:
string_utils(const char* op, char* dest, const char* src) - Dependencies: 없음
- 미캡처 구간: 인코딩 변환 (UTF-8, EUC-KR, ISO-2022-KR)
- OCR 위험: 높음 - 멀티바이트 문자 처리
- 전환 우선순위: P3