util.h
3.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/**
@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 //