/
githubmirror
/
ipxe
Обзор
Документация
Войти
/
githubmirror
/
ipxe
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v2.0.0
src/include/stdlib.h
82 строки
2 KB
Michael Brown
[build] Mark core files as permitted for UEFI Secure Boot
14 янв 2026, 16:25
14 янв 2026, 16:25
6cccb3b
Код
Авторство
О чём код?
#ifndef STDLIB_H #define STDLIB_H FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); FILE_SECBOOT ( PERMITTED ); #include <stdint.h> #include <assert.h> /***************************************************************************** * * Numeric parsing * **************************************************************************** */ extern unsigned long strtoul ( const char *string, char **endp, int base ); extern unsigned long long strtoull ( const char *string, char **endp, int base ); /***************************************************************************** * * Memory allocation * **************************************************************************** */ extern void * __malloc malloc ( size_t size ); extern void * realloc ( void *old_ptr, size_t new_size ); extern void free ( void *ptr ); extern void * __malloc zalloc ( size_t len ); /** * Allocate cleared memory * * @v nmemb Number of members * @v size Size of each member * @ret ptr Allocated memory * * Allocate memory as per malloc(), and zero it. * * This is implemented as a static inline, with the body of the * function in zalloc(), since in most cases @c nmemb will be 1 and * doing the multiply is just wasteful. */ static inline void * __malloc calloc ( size_t nmemb, size_t size ) { return zalloc ( nmemb * size ); } /***************************************************************************** * * Random number generation * **************************************************************************** */ extern long int random ( void ); extern void srandom ( unsigned int seed ); static inline int rand ( void ) { return random(); } static inline void srand ( unsigned int seed ) { srandom ( seed ); } /***************************************************************************** * * Miscellaneous * **************************************************************************** */ static inline __attribute__ (( always_inline )) int abs ( int value ) { return __builtin_abs ( value ); } extern int system ( const char *command ); extern __asmcall int main ( void ); #endif /* STDLIB_H */