codex-bais-final4-20260713-.../.dev-docs/migration/bais-spring/c파일-정리-인벤토리-세부사항.md

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_t enum 및 상태 전이)
  • 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/urandom fallback)
  • 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