Skip to content

GregLeonhardt/LibTools

Repository files navigation

LibTools is a library of functions I found myself creating and copying over and over. I finally decided to put them all into a single static library and eliminate the redundancy. Then I got carried off with the whole library thing and started dumping everything that might some day be useful in another project.

Base64 is a text-to-binary and binary-to-text encoding/decoding scheme that represent binary data (more specifically, a sequence of 8-bit bytes) in an ASCII string format by translating the data into a radix-64 representation.

  • base64_encode
  • base64_decode

Not a lot going on in any og the file functions. It was simply easier to call a library function that has error checking etc. built in.

  • file_open_read
  • file_open_write
  • file_open_write_no_dup
  • file_open_append
  • file_close
  • file_read_text
  • file_read_data
  • file_stat
  • file_ls
  • file_path_to_lib
  • file_unzip
  • file_dir_exist

More or less a ripoff of the html2txt application. The input is in html format and the output has all the html formatting stripped out.

  • html2txt
  • html2txt_str_2_char

A complete (or as much as I have ever needed) set of tools for managing a link list. In this implementation the link list ONLY manages pointers to the data the list is managing.

  • list_new
  • list_kill
  • list_get_first
  • list_get_next
  • list_get_prev
  • list_get_last
  • list_put_first
  • list_put_last
  • my_list_delete
  • list_query_count
  • list_user_lock
  • list_user_unlock
  • list_fget_first
  • list_fget_next
  • list_fget_prev
  • list_fget_last
  • list_fput_last
  • list_fdelete
  • list_debug_dump_list

Just a logging tool where messages may be written to a terminal and/or a log file.

  • log_init
  • log_write

Nothing magical here. These functions are not much more than a wrapper around malloc and free, that is until you discover a memory leak. There are imbedded tools that can assist in tracking down the leak so it can be fixed. Naturally this comes with a small performance impact.

  • mem_init
  • mem_malloc
  • mem_free
  • mem_sizeof
  • mem_dump

Create and manage messaging queues to pass information between threads.

  • queue_init
  • queue_new
  • queue_get_id
  • queue_get_count
  • queue_put_payload
  • queue_get_payload

So SHA-1 is old and broken. That being said I have been using it for years to create checksums for pieces of data to manage their uniqueness.

  • sha1_init
  • sha1_update
  • sha1_final
  • sha1_sum

Used to manage application parameters where they may be stored and retrieved the next time the application is run.

  • store_init
  • store_get
  • store_put

As you have probably guessed this is nothing more than a set of function calls to open/close, send/receive information across a TCP/IP interface.

  • tcpip_init
  • tcpip_rcv_open
  • tcpip_rcv_connection_open
  • tcpip_snd_open
  • tcpip_close
  • tcpip_snd_data
  • tcpip_rcv_data
  • tcpip_get_data

A set of text manipulation and management tools.

  • text_atox
  • text_space_fill
  • text_to_uppercase
  • text_to_lowercase
  • text_to_int
  • text_skip_past_whitespace
  • text_remove_crlf
  • text_strip_whitespace
  • text_is_blank_line
  • get_cmd_line_parm
  • is_cmd_line_parm
  • text_copy_to_new
  • text_title_case
  • text_next_word
  • text_datastring_to_ascii
  • text_insert
  • text_remove
  • text_replace
  • text_center

Again, not much more then a wrapper around the posix threading tools. The tools just take some of the work out of using threads.

  • thread_new
  • thread_flow_init
  • thread_resume
  • thread_wait

Some time ago I was in need of a token manager and this is what came out of it. I can't say it has been of much use since then.

  • token_init
  • token_get
  • token_free

About

Generic functions used across many projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages