Blame view

app/app-prime-modbus/include/common/util.h 3.42 KB
8c2952457   김태훈   응용 프로그램 추가
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 //