⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 util.h

📁 1. 8623L平台
💻 H
字号:
/***************************************** Copyright (c) 2001-2007 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//* This file is part of the boot loader *//* * util.h *  * utility functions * * first revision by Ho Lee 10/10/2002 */#ifndef __BOOTLOADER_UTIL_H#define __BOOTLOADER_UTIL_H#ifndef NULL#define NULL    (void *) 0#endif// ctypeint isspace(int ch);int isdigit(int ch);int toupper(int ch);int tolower(int ch);// stringchar *trim(char *str);int strlen(const char *str);char *strcpy(char *dest, const char *src);char *strncpy(char *dest, const char *src, int n);char *strncpy0(char *dest, const char *src, int n);char *strcat(char *dest, const char *src);int strcmp(const char *str1, const char *str2);int strncmp(const char *str1, const char *str2, int num);int strcasecmp(const char *str1, const char *str2);char *strchr(const char *str, char ch);char *strtok(char *str, const char *token);// stdlibunsigned int atoi(const char *str);unsigned int htoi(const char *str);void memcpy(void *to, const void *from, unsigned long n);void memmove(void *to, const void *from, unsigned long n);int memcmp(const void *ptr1, const void *ptr2, unsigned long n);void memset(void *ptr, unsigned char value, unsigned long n);// numerical#define ABS(x)  (((x) >= 0) ? (x) : -(x))void unsigned_divide(unsigned int dividened, unsigned int divisor, unsigned int *pquotient, unsigned int *premainder);void signed_divide(int dividened, int divisor, int *pquotient, int *premainder);int idivide(int dividened, int divisor);int imodulus(int dividened, int divisor);// networkint parse_netaddr(char *str, unsigned char *addr, int len);int parse_ipaddr(char *str, unsigned int *ipaddr);char *ipaddr_to_str(unsigned int ipaddr);// byte orderingstatic __inline__ unsigned short swaps(unsigned short x){    return ((unsigned short) ((((unsigned short)(x) & 0x00ff) << 8) |         (((unsigned short)(x) & 0xff00) >> 8)));}static __inline__ unsigned int swapl(unsigned int x){    return ((unsigned long int)((((unsigned long int)(x) & 0x000000ffU) << 24) |        (((unsigned long int)(x) & 0x0000ff00U) <<  8) |        (((unsigned long int)(x) & 0x00ff0000U) >>  8) |        (((unsigned long int)(x) & 0xff000000U) >> 24)));}// for networkingstatic __inline__ unsigned short htons(unsigned short x){    return swaps(x);}static __inline__ unsigned int htonl(unsigned int x){    return swapl(x);}static __inline__ unsigned short ntohs(unsigned short x){    return htons(x);}static __inline__ unsigned int ntohl(unsigned int x){    return htonl(x);}// memory management (heap)void heap_init(void *startptr, unsigned int size);void *malloc(int size);void free(void *ptr);unsigned binfile_crc_check(void *startptr, unsigned int size);#ifdef CONFIG_ENABLE_BITMAPSint bmp_inflate(unsigned char *in_buf, unsigned char *out_buf, unsigned int len);#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -