diff options
Diffstat (limited to 'src/base/system.h')
| -rw-r--r-- | src/base/system.h | 248 |
1 files changed, 124 insertions, 124 deletions
diff --git a/src/base/system.h b/src/base/system.h index fea9e452..a486b89d 100644 --- a/src/base/system.h +++ b/src/base/system.h @@ -18,28 +18,28 @@ extern "C" { /* Function: dbg_assert Breaks into the debugger based on a test. - + Parameters: test - Result of the test. msg - Message that should be printed if the test fails. - + Remarks: Does nothing in release version of the library. - + See Also: <dbg_break> */ void dbg_assert(int test, const char *msg); -#define dbg_assert(test,msg) dbg_assert_imp(__FILE__, __LINE__, test, msg) +#define dbg_assert(test,msg) dbg_assert_imp(__FILE__, __LINE__, test, msg) void dbg_assert_imp(const char *filename, int line, int test, const char *msg); /* Function: dbg_break Breaks into the debugger. - + Remarks: Does nothing in release version of the library. - + See Also: <dbg_assert> */ @@ -47,16 +47,16 @@ void dbg_break(); /* Function: dbg_msg - + Prints a debug message. - + Parameters: sys - A string that describes what system the message belongs to fmt - A printf styled format string. - + Remarks: Does nothing in release version of the library. - + See Also: <dbg_assert> */ @@ -67,15 +67,15 @@ void dbg_msg(const char *sys, const char *fmt, ...); /* Function: mem_alloc Allocates memory. - + Parameters: size - Size of the needed block. alignment - Alignment for the block. - + Returns: Returns a pointer to the newly allocated block. Returns a null pointer if the memory couldn't be allocated. - + Remarks: - Passing 0 to size will allocated the smallest amount possible and return a unique pointer. @@ -89,12 +89,12 @@ void *mem_alloc_debug(const char *filename, int line, unsigned size, unsigned al /* Function: mem_free Frees a block allocated through <mem_alloc>. - + Remarks: - In the debug version of the library the function will assert if a non-valid block is passed, like a null pointer or a block that isn't allocated. - + See Also: <mem_alloc> */ @@ -103,16 +103,16 @@ void mem_free(void *block); /* Function: mem_copy Copies a a memory block. - + Parameters: dest - Destination. source - Source to copy. size - Size of the block to copy. - + Remarks: - This functions DOES NOT handles cases where source and destination is overlapping. - + See Also: <mem_move> */ @@ -121,16 +121,16 @@ void mem_copy(void *dest, const void *source, unsigned size); /* Function: mem_move Copies a a memory block - + Parameters: dest - Destination source - Source to copy size - Size of the block to copy - + Remarks: - This functions handles cases where source and destination is overlapping - + See Also: <mem_copy> */ @@ -139,7 +139,7 @@ void mem_move(void *dest, const void *source, unsigned size); /* Function: mem_zero Sets a complete memory block to 0 - + Parameters: block - Pointer to the block to zero out size - Size of the block @@ -149,12 +149,12 @@ void mem_zero(void *block, unsigned size); /* Function: mem_comp Compares two blocks of memory - + Parameters: a - First block of data b - Second block of data size - Size of the data to compare - + Returns: <0 - Block a is lesser then block b 0 - Block a is equal to block b @@ -168,7 +168,7 @@ int mem_comp(const void *a, const void *b, int size); Will trigger a assert if memory has failed. */ int mem_check_imp(); -#define mem_check() dbg_assert_imp(__FILE__, __LINE__, mem_check_imp(), "Memory check failed") +#define mem_check() dbg_assert_imp(__FILE__, __LINE__, mem_check_imp(), "Memory check failed") /* Group: File IO */ enum { @@ -205,7 +205,7 @@ IOHANDLE io_open(const char *filename, int flags); io - Handle to the file to read data from. buffer - Pointer to the buffer that will recive the data. size - Number of bytes to read from the file. - + Returns: Number of bytes read. @@ -215,11 +215,11 @@ unsigned io_read(IOHANDLE io, void *buffer, unsigned size); /* Function: io_skip Skips data in a file. - + Parameters: io - Handle to the file. size - Number of bytes to skip. - + Returns: Number of bytes skipped. */ @@ -228,12 +228,12 @@ unsigned io_skip(IOHANDLE io, int size); /* Function: io_write Writes data from a buffer to file. - + Parameters: io - Handle to the file. buffer - Pointer to the data that should be written. size - Number of bytes to write. - + Returns: Number of bytes written. */ @@ -242,12 +242,12 @@ unsigned io_write(IOHANDLE io, const void *buffer, unsigned size); /* Function: io_seek Seeks to a specified offset in the file. - + Parameters: io - Handle to the file. offset - Offset from pos to stop. origin - Position to start searching from. - + Returns: Returns 0 on success. */ @@ -256,10 +256,10 @@ int io_seek(IOHANDLE io, int offset, int origin); /* Function: io_tell Gets the current position in the file. - + Parameters: io - Handle to the file. - + Returns: Returns the current position. -1L if an error occured. */ @@ -268,10 +268,10 @@ long int io_tell(IOHANDLE io); /* Function: io_length Gets the total length of the file. Resetting cursor to the beginning - + Parameters: io - Handle to the file. - + Returns: Returns the total size. -1L if an error occured. */ @@ -280,10 +280,10 @@ long int io_length(IOHANDLE io); /* Function: io_close Closes a file. - + Parameters: io - Handle to the file. - + Returns: Returns 0 on success. */ @@ -292,10 +292,10 @@ int io_close(IOHANDLE io); /* Function: io_flush Empties all buffers and writes all pending data. - + Parameters: io - Handle to the file. - + Returns: Returns 0 on success. */ @@ -326,7 +326,7 @@ IOHANDLE io_stderr(); /* Function: thread_sleep Suspends the current thread for a given period. - + Parameters: milliseconds - Number of milliseconds to sleep. */ @@ -335,18 +335,18 @@ void thread_sleep(int milliseconds); /* Function: thread_create Creates a new thread. - + Parameters: threadfunc - Entry point for the new thread. user - Pointer to pass to the thread. - + */ void *thread_create(void (*threadfunc)(void *), void *user); /* Function: thread_wait Waits for a thread to be done or destroyed. - + Parameters: thread - Thread to wait for. */ @@ -355,7 +355,7 @@ void thread_wait(void *thread); /* Function: thread_destroy Destroys a thread. - + Parameters: thread - Thread to destroy. */ @@ -390,7 +390,7 @@ typedef long long int64; /* Function: time_get Fetches a sample from a high resolution timer. - + Returns: Current value of the timer. @@ -402,7 +402,7 @@ int64 time_get(); /* Function: time_freq Returns the frequency of the high resolution timer. - + Returns: Returns the frequency of the high resolution timer. */ @@ -411,7 +411,7 @@ int64 time_freq(); /* Function: time_timestamp Retrives the current time as a UNIX timestamp - + Returns: The time as a UNIX timestamp */ @@ -428,7 +428,7 @@ typedef struct enum { NETADDR_MAXSTRSIZE = 1+(8*4+7)+1+1+5+1, // [XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX]:XXXXX - + NETTYPE_INVALID = 0, NETTYPE_IPV4 = 1, NETTYPE_IPV6 = 2, @@ -446,10 +446,10 @@ typedef struct /* Function: net_init Initiates network functionallity. - + Returns: Returns 0 on success, - + Remarks: You must call this function before using any other network functions. @@ -469,11 +469,11 @@ int net_host_lookup(const char *hostname, NETADDR *addr, int types); /* Function: net_addr_comp Compares two network addresses. - + Parameters: a - Address to compare b - Address to compare to. - + Returns: <0 - Address a is lesser then address b 0 - Address a is equal to address b @@ -484,12 +484,12 @@ int net_addr_comp(const NETADDR *a, const NETADDR *b); /* Function: net_addr_str Turns a network address into a representive string. - + Parameters: addr - Address to turn into a string. string - Buffer to fill with the string. max_length - Maximum size of the string. - + Remarks: - The string will always be zero terminated @@ -499,10 +499,10 @@ void net_addr_str(const NETADDR *addr, char *string, int max_length); /* Function: net_addr_from_str Turns string into a network address. - + Returns: 0 on success - + Parameters: addr - Address to fill in. string - String to parse. @@ -517,7 +517,7 @@ int net_addr_from_str(NETADDR *addr, const char *string); Parameters: bindaddr - Address to bind the socket to. - + Returns: On success it returns an handle to the socket. On failure it returns NETSOCKET_INVALID. @@ -533,7 +533,7 @@ NETSOCKET net_udp_create(NETADDR bindaddr); addr - Where to send the packet. data - Pointer to the packet data to send. size - Size of the packet. - + Returns: On success it returns the number of bytes sent. Returns -1 on error. @@ -549,7 +549,7 @@ int net_udp_send(NETSOCKET sock, const NETADDR *addr, const void *data, int size addr - Pointer to an NETADDR that will recive the address. data - Pointer to a buffer that will recive the data. maxsize - Maximum size to recive. - + Returns: On success it returns the number of bytes recived. Returns -1 on error. @@ -562,7 +562,7 @@ int net_udp_recv(NETSOCKET sock, NETADDR *addr, void *data, int maxsize); Parameters: sock - Socket to close. - + Returns: Returns 0 on success. -1 on error. */ @@ -574,7 +574,7 @@ int net_udp_close(NETSOCKET sock); /* Function: net_tcp_create Creates a TCP socket. - + Parameters: bindaddr - Address to bind the socket to. @@ -586,11 +586,11 @@ NETSOCKET net_tcp_create(const NETADDR *a); /* Function: net_tcp_listen Makes the socket start listening for new connections. - + Parameters: sock - Socket to start listen to. backlog - Size of the queue of incomming connections to keep. - + Returns: Returns 0 on success. */ @@ -599,12 +599,12 @@ int net_tcp_listen(NETSOCKET sock, int backlog); /* Function: net_tcp_accept Polls a listning socket for a new connection. - + Parameters: sock - Listning socket to poll. new_sock - Pointer to a socket to fill in with the new socket. addr - Pointer to an address that will be filled in the remote address (optional, can be NULL). - + Returns: Returns a non-negative integer on success. Negative integer on failure. */ @@ -613,26 +613,26 @@ int net_tcp_accept(NETSOCKET sock, NETSOCKET *new_sock, NETADDR *addr); /* Function: net_tcp_connect Connects one socket to another. - + Parameters: sock - Socket to connect. addr - Address to connect to. Returns: Returns 0 on success. - + */ int net_tcp_connect(NETSOCKET sock, const NETADDR *addr); /* Function: net_tcp_send Sends data to a TCP stream. - + Parameters: sock - Socket to send data to. data - Pointer to the data to send. size - Size of the data to send. - + Returns: Number of bytes sent. Negative value on failure. */ @@ -641,12 +641,12 @@ int net_tcp_send(NETSOCKET sock, const void *data, int size); /* Function: net_tcp_recv Recvives data from a TCP stream. - + Parameters: sock - Socket to recvive data from. data - Pointer to a buffer to write the data to max_size - Maximum of data to write to the buffer. - + Returns: Number of bytes recvived. Negative value on failure. When in non-blocking mode, it returns 0 when there is no more data to @@ -657,10 +657,10 @@ int net_tcp_recv(NETSOCKET sock, void *data, int maxsize); /* Function: net_tcp_close Closes a TCP socket. - + Parameters: sock - Socket to close. - + Returns: Returns 0 on success. Negative value on failure. */ @@ -671,12 +671,12 @@ int net_tcp_close(NETSOCKET sock); /* Function: str_append Appends a string to another. - + Parameters: dst - Pointer to a buffer that contains a string. src - String to append. dst_size - Size of the buffer of the dst string. - + Remarks: - The strings are treated as zero-termineted strings. - Garantees that dst string will contain zero-termination. @@ -686,7 +686,7 @@ void str_append(char *dst, const char *src, int dst_size); /* Function: str_copy Copies a string to another. - + Parameters: dst - Pointer to a buffer that shall recive the string. src - String to be copied. @@ -701,10 +701,10 @@ void str_copy(char *dst, const char *src, int dst_size); /* Function: str_length Returns the length of a zero terminated string. - + Parameters: str - Pointer to the string. - + Returns: Length of string in bytes excluding the zero termination. */ @@ -713,7 +713,7 @@ int str_length(const char *str); /* Function: str_format Performs printf formating into a buffer. - + Parameters: buffer - Pointer to the buffer to recive the formated string. buffer_size - Size of the buffer. @@ -730,7 +730,7 @@ void str_format(char *buffer, int buffer_size, const char *format, ...); /* Function: str_sanitize_strong Replaces all characters below 32 and above 127 with whitespace. - + Parameters: str - String to sanitize. @@ -742,7 +742,7 @@ void str_sanitize_strong(char *str); /* Function: str_sanitize_cc Replaces all characters below 32 with whitespace. - + Parameters: str - String to sanitize. @@ -755,7 +755,7 @@ void str_sanitize_cc(char *str); Function: str_sanitize Replaces all characters below 32 with whitespace with exception to \t, \n and \r. - + Parameters: str - String to sanitize. @@ -767,7 +767,7 @@ void str_sanitize(char *str); /* Function: str_skip_to_whitespace Skips leading non-whitespace characters(all but ' ', '\t', '\n', '\r'). - + Parameters: str - Pointer to the string. @@ -783,7 +783,7 @@ char *str_skip_to_whitespace(char *str); /* Function: str_skip_whitespaces Skips leading whitespace characters(' ', '\t', '\n', '\r'). - + Parameters: str - Pointer to the string. @@ -799,12 +799,12 @@ char *str_skip_whitespaces(char *str); /* Function: str_comp_nocase Compares to strings case insensitive. - + Parameters: a - String to compare. b - String to compare. - - Returns: + + Returns: <0 - String a is lesser then string b 0 - String a is equal to string b >0 - String a is greater then string b @@ -819,12 +819,12 @@ int str_comp_nocase(const char *a, const char *b); /* Function: str_comp Compares to strings case sensitive. - + Parameters: a - String to compare. b - String to compare. - - Returns: + + Returns: <0 - String a is lesser then string b 0 - String a is equal to string b >0 - String a is greater then string b @@ -837,13 +837,13 @@ int str_comp(const char *a, const char *b); /* Function: str_comp_num Compares up to num characters of two strings case sensitive. - + Parameters: a - String to compare. b - String to compare. num - Maximum characters to compare - - Returns: + + Returns: <0 - String a is lesser then string b 0 - String a is equal to string b >0 - String a is greater then string b @@ -856,12 +856,12 @@ int str_comp_num(const char *a, const char *b, const int num); /* Function: str_comp_filenames Compares two strings case sensitive, digit chars will be compared as numbers. - + Parameters: a - String to compare. b - String to compare. - - Returns: + + Returns: <0 - String a is lesser then string b 0 - String a is equal to string b >0 - String a is greater then string b @@ -878,7 +878,7 @@ int str_comp_filenames(const char *a, const char *b); Parameters: haystack - String to search in needle - String to search for - + Returns: A pointer into haystack where the needle was found. Returns NULL of needle could not be found. @@ -896,7 +896,7 @@ const char *str_find_nocase(const char *haystack, const char *needle); Parameters: haystack - String to search in needle - String to search for - + Returns: A pointer into haystack where the needle was found. Returns NULL of needle could not be found. @@ -939,13 +939,13 @@ void str_timestamp(char *buffer, int buffer_size); /* Function: fs_listdir Lists the files in a directory - + Parameters: dir - Directory to list cb - Callback function to call for each entry type - Type of the directory user - Pointer to give to the callback - + Returns: Always returns 0. */ @@ -955,13 +955,13 @@ int fs_listdir(const char *dir, FS_LISTDIR_CALLBACK cb, int type, void *user); /* Function: fs_makedir Creates a directory - + Parameters: path - Directory to create - + Returns: Returns 0 on success. Negative value on failure. - + Remarks: Does not create several directories if needed. "a/b/c" will result in a failure if b or a does not exist. @@ -971,10 +971,10 @@ int fs_makedir(const char *path); /* Function: fs_storage_path Fetches per user configuration directory. - + Returns: Returns 0 on success. Negative value on failure. - + Remarks: - Returns ~/.appname on UNIX based systems - Returns ~/Library/Applications Support/appname on Mac OS X @@ -985,7 +985,7 @@ int fs_storage_path(const char *appname, char *path, int max); /* Function: fs_is_dir Checks if directory exists - + Returns: Returns 1 on success, 0 on failure. */ @@ -994,7 +994,7 @@ int fs_is_dir(const char *path); /* Function: fs_chdir Changes current working directory - + Returns: Returns 0 on success, 1 on failure. */ @@ -1003,7 +1003,7 @@ int fs_chdir(const char *path); /* Function: fs_getcwd Gets the current working directory. - + Returns: Returns a pointer to the buffer on success, 0 on failure. */ @@ -1012,7 +1012,7 @@ char *fs_getcwd(char *buffer, int buffer_size); /* Function: fs_parent_dir Get the parent directory of a directory - + Parameters: path - The directory string @@ -1027,7 +1027,7 @@ int fs_parent_dir(char *path); /* Function: fs_remove Deletes the file with the specified name. - + Parameters: filename - The file to delete @@ -1042,7 +1042,7 @@ int fs_remove(const char *filename); /* Function: fs_rename Renames the file or directory. If the paths differ the file will be moved. - + Parameters: oldname - The actual name newname - The new name @@ -1062,7 +1062,7 @@ int fs_rename(const char *oldname, const char *newname); /* Function: net_tcp_connect_non_blocking - + DOCTODO: serp */ int net_tcp_connect_non_blocking(NETSOCKET sock, const NETADDR *a); @@ -1121,7 +1121,7 @@ enum { #define DBG_LEVEL_LOW DBG_LEVEL_IMPORTANT #define DBG_LEVEL_HIGH DBG_LEVEL_INFO -typedef void (*DBG_LOGGER)(const char *line); +typedef void (*DBG_LOGGER)(const char *line); void dbg_logger(DBG_LOGGER logger); void dbg_logger_stdout(); @@ -1157,7 +1157,7 @@ unsigned str_quickhash(const char *str); /* Function: gui_messagebox Display plain OS-dependent message box - + Parameters: title - title of the message box message - text to display @@ -1168,7 +1168,7 @@ void gui_messagebox(const char *title, const char *message); /* Function: str_utf8_rewind Moves a cursor backwards in an utf8 string - + Parameters: str - utf8 string cursor - position in the string @@ -1184,11 +1184,11 @@ int str_utf8_rewind(const char *str, int cursor); /* Function: str_utf8_forward Moves a cursor forwards in an utf8 string - + Parameters: str - utf8 string cursor - position in the string - + Returns: New cursor position. @@ -1200,10 +1200,10 @@ int str_utf8_forward(const char *str, int cursor); /* Function: str_utf8_decode Decodes an utf8 character - + Parameters: ptr - pointer to an utf8 string. this pointer will be moved forward - + Returns: Unicode value for the character. -1 for invalid characters and 0 for end of string. @@ -1215,10 +1215,10 @@ int str_utf8_decode(const char **ptr); /* Function: str_utf8_encode Encode an utf8 character - + Parameters: ptr - Pointer to a buffer that should recive the data. Should be able to hold at least 4 bytes. - + Returns: Number of bytes put into the buffer. @@ -1230,10 +1230,10 @@ int str_utf8_encode(char *ptr, int chr); /* Function: str_utf8_check Checks if a strings contains just valid utf8 characters. - + Parameters: str - Pointer to a possible utf8 string. - + Returns: 0 - invalid characters found. 1 - only valid characters found. |