// uds_frame.h #pragma once #include #define UDS_SOCK_PATH "/tmp/cam.sock" #define UDS_MAGIC "FRA\0" #define UDS_VERSION 1 enum { WS_PIXFMT_RGB24 = 1, WS_PIXFMT_RGBA32 = 2, WS_PIXFMT_JPEG = 3 }; // 고정 길이 헤더 (리틀엔디언 가정; 동일 머신이라 문제 없음) #pragma pack(push,1) typedef struct { char magic[4]; // "FRA\0" uint32_t version; // 1 uint32_t ch; // 채널 uint32_t width; // 프레임 폭 uint32_t height; // 프레임 높이 uint32_t stride; // 한 줄 바이트 수 uint32_t pixfmt; // 1=RGB24, 2=RGBA32 uint64_t bytes; // 프레임 총 바이트 uint64_t ts_ns; // 타임스탬프(ns) (옵션: 0 가능) } uds_frame_header_t; #pragma pack(pop)