/** @file util.h @date 2009/1/15 ~ @author 오재경 freefrug@falinux.com FALinux.Co.,Ltd. @brief 단순한 유틸리티 함수들을 모아놓았다. @modify @todo @bug @remark @warning */ //---------------------------------------------------------------------------- #ifndef _UTIL_HEADER_ #define _UTIL_HEADER_ #define EMBEDDED_LINUX #ifdef MS_WIN32 #undef EMBEDDED_LINUX #endif typedef long long msec_t; /// @{ /// @brief util.h 에서 제공하는 매크로 리스트 #define ALIGN_SIZE( v, as ) (((v+(as-1))/as)*as) /// @} #ifdef __cplusplus extern "C" { #endif /// @{ /// @brief util.h 에서 제공하는 함수 리스트 #ifdef EMBEDDED_LINUX // 파일 관련 extern int find_dev_major( char *driver_name ); /// 드라이버 이름으로 드라이버의 메이져번호를 얻는다. extern int dev_open( char *fname, unsigned char major, unsigned char minor ); /// 디바이스 드라이버 노드파일을 연다. extern int exist_file( char *fname ); /// 파일이나 디렉토리가 존재하는지 확인한다. extern int get_file_size( char *fname ); /// 파일의 크기를 얻는다 extern int tftp_download_file( char *ip, char *fname ); /// tftp shell 유틸리티를 사용하여 파일을 다운로드받는다. extern int tftp_upload_file ( char *ip, char *fname ); /// tftp shell 유틸리티를 사용하여 파일을 업로드한다 // 시간 관련 extern unsigned long get_cur_usec(void); /// 현재의 usec 시간틱을 얻어온다. extern void format_date_text( char *fmt, char *text ); /// 날짜와 시간을 문자열 형태로 돌려준다. extern int set_sys_time( int yyyy, int MM, int dd, int hh, int mm, int ss ); /// 시스템 시간을 설정한다. // 문자열 관련 extern void trimstr( char *line ); /// 문자열에서 앞뒤의 특수문자와 공백문자를 제거한다. extern int item_value_parse( const char *line, char delim, char *item, char *val ); /// 문자열에서 특정 문자를 분리자로 사용하여 분리한다 extern void bin_to_hex( char *hex, char *bin, int bcnt ); /// 바이너리 데이타를 헥사 문자열로 변환한다. // 기타 extern int log_printf( const char *log_file, const char *fmt, ... ); /// 로그정보를 파일에 써 넣는다. extern int is_rect_region( int x, int y, int sx, int sy, int wdt, int hgt ); /// 좌표가 사각영역안에 있는지 검사 extern int get_myip( char *ip ); /// 자기 IP를 얻는다. extern int ping( char *host, int count ); /// ping 명령을 수행하여 성공한 회수를 돌려준다. extern int get_irq_count( int irq ); /// 인터럽트 발생 횟수를 돌려준다 extern int get_mcu( void ); /// mcu 번호를 찾는다. extern char getchar_without_enter( void ); /// 키보드 입력을 엔터없이 한문자씩 즉시 받는다. extern void print_buffer( char *buf, int count ); /// 버퍼를 헥사로 보여준다. extern unsigned int strtosize( char *str ); /// 문자열을 숫자로 변환한다. 숫자뒤의 단위까지 판단한다. extern unsigned short checksum(void* buf, int len); /// 버퍼의 값을 16비트로 더하여 돌려준다. extern void msleep( int msec ); /// msec 단위로 기다린다. /// @} #endif extern msec_t get_cur_msec(void); /// 현재의 msec 시간틱을 얻어온다. extern unsigned long get_cur_sec(void); /// 현재의 sec 시간틱을 얻어온다. #ifdef __cplusplus } #endif #endif //