mpdm_adel, mpdm_aget, mpdm_aset, mpdm_bseek, mpdm_bseek_s, mpdm_collapse, mpdm_expand, mpdm_ins, mpdm_join, mpdm_keys, mpdm_pop, mpdm_push, mpdm_queue, mpdm_seek, mpdm_seek_s, mpdm_shift, mpdm_sort, mpdm_sort_cb, mpdm_split
mpdm_encoding, mpdm_read, mpdm_write
mpdm_app_dir, mpdm_chmod, mpdm_chown, mpdm_close, mpdm_encoding, mpdm_glob, mpdm_home_dir, mpdm_open, mpdm_pclose, mpdm_popen, mpdm_read, mpdm_stat, mpdm_unlink, mpdm_write
mpdm_exists, mpdm_hdel, mpdm_hget, mpdm_hget_s, mpdm_hset, mpdm_hset_s, mpdm_hsize, mpdm_keys
mpdm_gettext, mpdm_gettext_domain
mpdm_regex, mpdm_sregex
mpdm_cmp, mpdm_gettext, mpdm_gettext_domain, mpdm_ival, mpdm_join, mpdm_rval, mpdm_splice, mpdm_split, mpdm_sprintf, mpdm_strcat, mpdm_string, mpdm_ulc
MPDM_2MBS, MPDM_A, MPDM_ENS, MPDM_F, MPDM_H, MPDM_I, MPDM_LS, MPDM_MBS, MPDM_NMBS, MPDM_NS, MPDM_R, MPDM_S, MPDM_X, mpdm_new
mpdm_clone, mpdm_exec, mpdm_ival, mpdm_ref, mpdm_root, mpdm_rval, mpdm_size, mpdm_sweep, mpdm_unref
mpdm_adel, mpdm_aget, mpdm_aset, mpdm_bseek, mpdm_bseek_s, mpdm_collapse, mpdm_expand, mpdm_ins, mpdm_join, mpdm_pop, mpdm_push, mpdm_queue, mpdm_seek, mpdm_seek_s, mpdm_shift, mpdm_sort, mpdm_sort_cb, mpdm_split
mpdm_dump, mpdm_dump_unref, mpdm_dumper
mpdm_app_dir, mpdm_chmod, mpdm_chown, mpdm_close, mpdm_encoding, mpdm_glob, mpdm_home_dir, mpdm_open, mpdm_pclose, mpdm_popen, mpdm_read, mpdm_stat, mpdm_unlink, mpdm_write
mpdm_exists, mpdm_hdel, mpdm_hget, mpdm_hget_s, mpdm_hset, mpdm_hset_s, mpdm_hsize, mpdm_keys
mpdm_regex, mpdm_sregex
mpdm_cmp, mpdm_gettext, mpdm_gettext_domain, mpdm_ival, mpdm_rval, mpdm_splice, mpdm_sprintf, mpdm_strcat, mpdm_string, mpdm_ulc
MPDM_2MBS, MPDM_A, MPDM_ENS, MPDM_F, MPDM_H, MPDM_I, MPDM_IS_ARRAY, MPDM_IS_EXEC, MPDM_IS_HASH, MPDM_IS_STRING, MPDM_LS, MPDM_MBS, MPDM_NMBS, MPDM_NS, MPDM_R, MPDM_S, MPDM_X, mpdm_clone, mpdm_exec, mpdm_new, mpdm_ref, mpdm_root, mpdm_shutdown, mpdm_size, mpdm_startup, mpdm_sweep, mpdm_unref
MPDM_2MBS - Creates a multibyte string value from a wide char string.
MPDM_A - Creates an array value.
MPDM_ENS - Creates a string value from an external string, with size.
MPDM_F - Creates a file value.
MPDM_H - Creates a hash value.
MPDM_I - Creates an integer value.
MPDM_IS_ARRAY - Tests if a value is an array.
MPDM_IS_EXEC - Tests if a value is executable.
MPDM_IS_HASH - Tests if a value is a hash.
MPDM_IS_STRING - Tests if a value is a string.
MPDM_LS - Creates a string value from a literal string.
MPDM_MBS - Creates a string value from a multibyte string.
MPDM_NMBS - Creates a string value from a multibyte string, with size.
MPDM_NS - Creates a string value from a string, with size.
MPDM_R - Creates a real value.
MPDM_S - Creates a string value from a string.
MPDM_X - Creates a new executable value.
mpdm_adel - Deletes an element of an array.
mpdm_aget - Gets an element of an array.
mpdm_app_dir - Returns the applications directory.
mpdm_aset - Sets the value of an array's element.
mpdm_bseek - Seeks a value in an array (binary).
mpdm_bseek_s - Seeks a value in an array (binary, string version).
mpdm_chmod - Changes a file's permissions.
mpdm_chown - Changes a file's owner.
mpdm_clone - Creates a clone of a value.
mpdm_close - Closes a file descriptor.
mpdm_cmp - Compares two values.
mpdm_collapse - Collapses an array.
mpdm_dump - Dumps a value to stdin.
mpdm_dump_unref - Dumps all unreferenced values.
mpdm_dumper - Returns a visual representation of a complex value
mpdm_encoding - Sets the current charset encoding for files.
mpdm_exec - Executes an executable value.
mpdm_exists - Tests if a key exists.
mpdm_expand - Expands an array.
mpdm_gettext - Translates a string to the current language.
mpdm_gettext_domain - Sets domain and data directory for translations.
mpdm_glob - Executes a file globbing.
mpdm_hdel - Deletes a key from a hash.
mpdm_hget - Gets a value from a hash.
mpdm_hget_s - Gets the value from a hash (string version).
mpdm_home_dir - Returns the home user directory.
mpdm_hset - Sets a value in a hash.
mpdm_hset_s - Sets a value in a hash (string version).
mpdm_hsize - Returns the number of pairs of a hash.
mpdm_ins - Insert an element in an array.
mpdm_ival - Returns a value's data as an integer.
mpdm_join - Joins all elements of an array into one.
mpdm_keys - Returns the keys of a hash.
mpdm_new - Creates a new value.
mpdm_open - Opens a file.
mpdm_pclose - Closes a pipe.
mpdm_pop - Pops a value from an array.
mpdm_popen - Opens a pipe.
mpdm_push - Pushes a value into an array.
mpdm_queue - Implements a queue in an array.
mpdm_read - Reads a line from a file descriptor.
mpdm_ref - Increments the reference count of a value.
mpdm_regex - Matches a regular expression.
mpdm_root - Returns the root hash.
mpdm_rval - Returns a value's data as a real number (double).
mpdm_seek - Seeks a value in an array (sequential).
mpdm_seek_s - Seeks a value in an array (sequential, string version).
mpdm_shift - Extracts the first element of an array.
mpdm_shutdown - Shuts down MPDM.
mpdm_size - Returns the size of an element.
mpdm_sort - Sorts an array.
mpdm_sort_cb - Sorts an array with a special sorting function.
mpdm_splice - Creates a new string value from another.
mpdm_split - Separates a string into an array of pieces.
mpdm_sprintf - Formats a sprintf()-like string
mpdm_sregex - Matches and substitutes a regular expression.
mpdm_startup - Initializes MPDM.
mpdm_stat - Gives status from a file.
mpdm_strcat - Concatenates two strings.
mpdm_string - Returns a printable representation of a value.
mpdm_sweep - Sweeps unreferenced values.
mpdm_ulc - Converts a string to uppercase or lowecase
mpdm_unlink - Deletes a file.
mpdm_unref - Decrements the reference count of a value.
mpdm_write - Writes a value into a file.
MPDM_2MBS | Top |
Name
MPDM_2MBS - Creates a multibyte string value from a wide char string.Synopsis
mpdm_t MPDM_2MBS(wchar_t * wcs);Arguments
- wcs
- the wide char string
Description
Creates a multibyte string value from the wcs wide char string, converting it by
mpdm_wcstombs(). Take note that multibyte string values are not properly strings, so they cannot be used for string comparison and such.Categories
Value Creation
MPDM_A | Top |
Name
MPDM_A - Creates an array value.Synopsis
mpdm_t MPDM_A(int n);Arguments
- n
- Number of elements
Description
Creates a new array value with n elements.
Categories
Value Creation
MPDM_ENS | Top |
Name
MPDM_ENS - Creates a string value from an external string, with size.Synopsis
mpdm_t MPDM_ENS(wchar_t * wcs, int s);Arguments
- wcs
- the external wide character string
- s
- the size in chars the string will hold
Description
Creates a new string value with size s. The wcs string must be a dynamic value (i.e. allocated by
malloc()) that will be freed on destruction.Categories
Value Creation
MPDM_F | Top |
Name
MPDM_F - Creates a file value.Synopsis
mpdm_t MPDM_F(FILE * f);Arguments
- f
- the file descriptor
Description
Creates a new file value.
Categories
Value Creation
MPDM_H | Top |
Name
MPDM_H - Creates a hash value.Synopsis
mpdm_t MPDM_H(int n);Arguments
- n
- Number of buckets in the hash (0: use default)
Description
Creates a new hash value with n buckets. The number of buckets must be a prime number. If n is 0, an optimal number of buckets will be used.
Categories
Value Creation
MPDM_I | Top |
Name
MPDM_I - Creates an integer value.Synopsis
mpdm_t MPDM_I(int i);Arguments
- i
- the integer
Description
Creates a new integer value. MPDM integers are strings.
Categories
Value Creation
MPDM_IS_ARRAY | Top |
Name
MPDM_IS_ARRAY - Tests if a value is an array.Synopsis
int MPDM_IS_ARRAY(mpdm_t v);Arguments
- v
- the value
Description
Returns non-zero if v is an array.
MPDM_IS_EXEC | Top |
Name
MPDM_IS_EXEC - Tests if a value is executable.Synopsis
int MPDM_IS_EXEC(mpdm_t v);Arguments
- v
- the value
Description
Returns non-zero if v is executable.
MPDM_IS_HASH | Top |
Name
MPDM_IS_HASH - Tests if a value is a hash.Synopsis
int MPDM_IS_HASH(mpdm_t v);Arguments
- v
- the value
Description
Returns non-zero if v is a hash.
MPDM_IS_STRING | Top |
Name
MPDM_IS_STRING - Tests if a value is a string.Synopsis
int MPDM_IS_STRING(mpdm_t v);Arguments
- v
- the value
Description
Returns non-zero if v is a string.
MPDM_LS | Top |
Name
MPDM_LS - Creates a string value from a literal string.Synopsis
mpdm_t MPDM_LS(wchar_t * wcs);Arguments
- wcs
- the wide character string
Description
Creates a new string value from a literal, wide character string. A pointer to the string will be stored in the value (not a copy).
Categories
Value Creation
MPDM_MBS | Top |
Name
MPDM_MBS - Creates a string value from a multibyte string.Synopsis
mpdm_t MPDM_MBS(char * mbs);Arguments
- mbs
- the multibyte string
Description
Creates a new string value from a multibyte string, that will be converted to wcs by
mpdm_mbstowcs().Categories
Value Creation
MPDM_NMBS | Top |
Name
MPDM_NMBS - Creates a string value from a multibyte string, with size.Synopsis
mpdm_t MPDM_NMBS(char * mbs, int s);Arguments
- mbs
- the multibyte string
- s
- the size
Description
Creates a new string value with the first s characters from the mbs multibyte string, that will be converted to wcs by
mpdm_mbstowcs().Categories
Value Creation
MPDM_NS | Top |
Name
MPDM_NS - Creates a string value from a string, with size.Synopsis
mpdm_t MPDM_NS(wchar_t * wcs, int s);Arguments
- wcs
- the wide character string
- s
- the size in chars the string will hold
Description
Creates a new string value with a copy of the first s characters from the wcs string.
Categories
Value Creation
MPDM_R | Top |
Name
MPDM_R - Creates a real value.Synopsis
mpdm_t MPDM_R(double r);Arguments
- r
- the real number
Description
Creates a new real value. MPDM integers are strings.
Categories
Value Creation
MPDM_S | Top |
Name
MPDM_S - Creates a string value from a string.Synopsis
mpdm_t MPDM_S(wchar_t * wcs);Arguments
- wcs
- the wide character string
Description
Creates a new string value from a wide character string. The value will store a copy of the string that will be freed on destruction.
Categories
Value Creation
MPDM_X | Top |
Name
MPDM_X - Creates a new executable value.Synopsis
mpdm_t MPDM_X(mpdm_t (* func)(mpdm_t args));Arguments
- func
- the C code function
Description
Creates a new executable value given a pointer to the func C code function. The function must receive an mpdm_t array value (that will hold their arguments) and return another one.
Categories
Value Creation
mpdm_adel | Top |
Name
mpdm_adel - Deletes an element of an array.Synopsis
mpdm_t mpdm_adel(mpdm_t a, int offset);Arguments
- a
- the array
- offset
- subscript of the element to be deleted
Description
Deletes the element at offset of the a array. The array is shrinked by one. If offset is negative, is counted from the end of the array (so a value of -1 means delete the last element of the array).
Returns the deleted element.
Categories
Arrays
mpdm_aget | Top |
Name
mpdm_aget - Gets an element of an array.Synopsis
mpdm_t mpdm_aget(mpdm_t a, int offset);Arguments
- a
- the array
- offset
- the subscript of the element
Description
Returns the element at offset of the array a.
Categories
Arrays
mpdm_app_dir | Top |
Name
mpdm_app_dir - Returns the applications directory.Synopsis
mpdm_t mpdm_app_dir(void);Description
Returns a system-dependent directory where the applications store their private data, as components or resources.
Categories
File Management
mpdm_aset | Top |
Name
mpdm_aset - Sets the value of an array's element.Synopsis
mpdm_t mpdm_aset(mpdm_t a, mpdm_t e, int offset);Arguments
- a
- the array
- e
- the element to be assigned
- offset
- the subscript of the element
Description
Sets the element of the array a at offset to be the e value. Returns the previous element.
Categories
Arrays
mpdm_bseek | Top |
Name
mpdm_bseek - Seeks a value in an array (binary).Synopsis
int mpdm_bseek(mpdm_t a, mpdm_t k, int step, int *pos);Arguments
- a
- the ordered array
- k
- the key
- step
- number of elements to step
- pos
- the position where the element should be, if it's not found
Description
Seeks the value k in the a array in increments of step. The array should be sorted to work correctly. A complete search should use a step of 1.
If the element is found, returns the offset of the element as a positive number; otherwise, -1 is returned and the position where the element should be is stored in pos. You can set pos to NULL if you don't mind.
Categories
Arrays
mpdm_bseek_s | Top |
Name
mpdm_bseek_s - Seeks a value in an array (binary, string version).Synopsis
int mpdm_bseek_s(mpdm_t a, wchar_t * k, int step, int *pos);Arguments
- a
- the ordered array
- k
- the key
- step
- number of elements to step
- pos
- the position where the element should be, if it's not found
Description
Seeks the value k in the a array in increments of step. The array should be sorted to work correctly. A complete search should use a step of 1.
If the element is found, returns the offset of the element as a positive number; otherwise, -1 is returned and the position where the element should be is stored in pos. You can set pos to NULL if you don't mind.
Categories
Arrays
mpdm_chmod | Top |
Name
mpdm_chmod - Changes a file's permissions.Synopsis
int mpdm_chmod(mpdm_t filename, mpdm_t perms);Arguments
- filename
- the file name
- perms
- permissions (element 2 from mpdm_stat())
Description
Changes the permissions for a file.
Categories
File Management
mpdm_chown | Top |
Name
mpdm_chown - Changes a file's owner.Synopsis
int mpdm_chown(mpdm_t filename, mpdm_t uid, mpdm_t gid);Arguments
- filename
- the file name
- uid
- user id (element 4 from mpdm_stat())
- gid
- group id (element 5 from mpdm_stat())
Description
Changes the owner and group id's for a file.
Categories
File Management
mpdm_clone | Top |
Name
mpdm_clone - Creates a clone of a value.Synopsis
mpdm_t mpdm_clone(mpdm_t v);Arguments
- v
- the value
Description
Creates a clone of a value. If the value is multiple, a new value will be created containing clones of all its elements; otherwise, the same unchanged value is returned.
Categories
Value Management
mpdm_close | Top |
Name
mpdm_close - Closes a file descriptor.Synopsis
mpdm_t mpdm_close(mpdm_t fd);Arguments
- fd
- the value containing the file descriptor
Description
Closes the file descriptor.
Categories
File Management
mpdm_cmp | Top |
Name
mpdm_cmp - Compares two values.Synopsis
int mpdm_cmp(mpdm_t v1, mpdm_t v2);Arguments
- v1
- the first value
- v2
- the second value
Description
Compares two values. If both has the MPDM_STRING flag set, a comparison using
wcscmp()is returned; if both are arrays, the size is compared first and, if they have the same number elements, each one is compared; otherwise, a simple pointer comparison is done.Categories
Strings
mpdm_collapse | Top |
Name
mpdm_collapse - Collapses an array.Synopsis
mpdm_t mpdm_collapse(mpdm_t a, int offset, int num);Arguments
- a
- the array
- offset
- deletion offset
- num
- number of elements to collapse
Description
Collapses an array value, deleting num elements at the specified offset.
Categories
Arrays
mpdm_dump | Top |
Name
mpdm_dump - Dumps a value to stdin.Synopsis
void mpdm_dump(mpdm_t v);Arguments
- v
- The value
Description
Dumps a value to stdin. The value can be complex. This function is for debugging purposes only.
mpdm_dump_unref | Top |
Name
mpdm_dump_unref - Dumps all unreferenced values.Synopsis
void mpdm_dump_unref(void);Description
Dumps all unreferenced values.
mpdm_dumper | Top |
Name
mpdm_dumper - Returns a visual representation of a complex valueSynopsis
mpdm_t mpdm_dumper(mpdm_t v);Arguments
- v
- The value
Description
Returns a visual representation of a complex value.
mpdm_encoding | Top |
Name
mpdm_encoding - Sets the current charset encoding for files.Synopsis
int mpdm_encoding(mpdm_t charset);Arguments
- charset
- the charset name.
Description
Sets the current charset encoding for files. Future opened files will be assumed to be encoded with charset, which can be any of the supported charset names (utf-8, iso-8859-1, etc.), and converted on each read / write. If charset is NULL, it is reverted to default charset conversion (i.e. the one defined in the locale). Returns a negative number if charset is unsupported, or zero if no errors were found.
Categories
File Management, Character Set Conversion
mpdm_exec | Top |
Name
mpdm_exec - Executes an executable value.Synopsis
mpdm_t mpdm_exec(mpdm_t c, mpdm_t args);Arguments
- c
- the code value
- args
- the arguments
Description
Executes an executable value. If c is a scalar value, its data should be a pointer to a directly executable C function with a prototype of mpdm_t func(mpdm_t args); if it's a multiple one, the first value's data should be a pointer to a directly executable C function with a prototype of mpdm_t func(mpdm_t b, mpdm_t args) and the second value will be passed as the b argument. This value is used to store bytecode or so when implementing virtual machines or compilers.
Returns the return value of the code. If c is NULL or not executable, returns NULL.
Categories
Value Management
mpdm_exists | Top |
Name
mpdm_exists - Tests if a key exists.Synopsis
int mpdm_exists(mpdm_t h, mpdm_t k);Arguments
- h
- the hash
- k
- the key
Description
Returns 1 if k is defined in h, or 0 othersize.
Categories
Hashes
mpdm_expand | Top |
Name
mpdm_expand - Expands an array.Synopsis
mpdm_t mpdm_expand(mpdm_t a, int offset, int num);Arguments
- a
- the array
- offset
- insertion offset
- num
- number of elements to insert
Description
Expands an array value, inserting num elements (initialized to NULL) at the specified offset.
Categories
Arrays
mpdm_gettext | Top |
Name
mpdm_gettext - Translates a string to the current language.Synopsis
mpdm_t mpdm_gettext(mpdm_t str);Arguments
- str
- the string
Description
Translates the str string to the current language.
This function can still be used even if there is no real gettext
support()by manually filling the __I18N__ hash.If the string is found in the current table, the translation is returned; otherwise, the same str value is returned.
Categories
Strings, Localization
mpdm_gettext_domain | Top |
Name
mpdm_gettext_domain - Sets domain and data directory for translations.Synopsis
int mpdm_gettext_domain(mpdm_t dom, mpdm_t data);Arguments
- dom
- the domain (application name)
- data
- directory contaning the .mo files
Description
Sets the domain (application name) and translation data for translating strings that will be returned by
mpdm_gettext().data must point to a directory containing the .mo (compiled .po) files.If there is no gettext support, returns 0, or 1 otherwise.
Categories
Strings, Localization
mpdm_glob | Top |
Name
mpdm_glob - Executes a file globbing.Synopsis
mpdm_t mpdm_glob(mpdm_t spec);Arguments
- spec
- Globbing spec
Description
Executes a file globbing. spec is system-dependent, but usually the * and ? metacharacters work everywhere. spec can contain a directory; if that's the case, the output strings will include it. In any case, each returned value will be suitable for a call to
mpdm_open().Returns an array of files that match the globbing (can be an empty array if no file matches), or NULL if globbing is unsupported.
Categories
File Management
mpdm_hdel | Top |
Name
mpdm_hdel - Deletes a key from a hash.Synopsis
mpdm_t mpdm_hdel(mpdm_t h, mpdm_t k);Arguments
- h
- the hash
- k
- the key
Description
Deletes the key k from the hash h. Returns the previous value, or NULL if the key was not defined.
Categories
Hashes
mpdm_hget | Top |
Name
mpdm_hget - Gets a value from a hash.Synopsis
mpdm_t mpdm_hget(mpdm_t h, mpdm_t k);Arguments
- h
- the hash
- k
- the key
Description
Gets the value from the hash h having k as key, or NULL if the key does not exist.
Categories
Hashes
mpdm_hget_s | Top |
Name
mpdm_hget_s - Gets the value from a hash (string version).Synopsis
mpdm_t mpdm_hget_s(mpdm_t h, wchar_t * k);Arguments
- h
- the hash
- k
- the key
Description
Gets the value from the hash h having k as key, or NULL if the key does not exist.
Categories
Hashes
mpdm_home_dir | Top |
Name
mpdm_home_dir - Returns the home user directory.Synopsis
mpdm_t mpdm_home_dir(void);Description
Returns a system-dependent directory where the user can write documents and create subdirectories.
Categories
File Management
mpdm_hset | Top |
Name
mpdm_hset - Sets a value in a hash.Synopsis
mpdm_t mpdm_hset(mpdm_t h, mpdm_t k, mpdm_t v);Arguments
- h
- the hash
- k
- the key
- v
- the value
Description
Sets the value v to the key k in the hash h. Returns the previous value of the key, or NULL if the key was previously undefined.
Categories
Hashes
mpdm_hset_s | Top |
Name
mpdm_hset_s - Sets a value in a hash (string version).Synopsis
mpdm_t mpdm_hset_s(mpdm_t h, wchar_t * k, mpdm_t v);Arguments
- h
- the hash
- k
- the key
- v
- the value
Description
Sets the value v to the key k in the hash h. Returns the previous value of the key, or NULL if the key was previously undefined.
Categories
Hashes
mpdm_hsize | Top |
Name
mpdm_hsize - Returns the number of pairs of a hash.Synopsis
int mpdm_hsize(mpdm_t h);Arguments
- h
- the hash
Description
Returns the number of key-value pairs of a hash.
Categories
Hashes
mpdm_ins | Top |
Name
mpdm_ins - Insert an element in an array.Synopsis
mpdm_t mpdm_ins(mpdm_t a, mpdm_t e, int offset);Arguments
- a
- the array
- e
- the element to be inserted
- offset
- subscript where the element is going to be inserted
Description
Inserts the e value in the a array at offset. Further elements are pushed up, so the array increases its size by one. Returns the inserted element.
Categories
Arrays
mpdm_ival | Top |
Name
mpdm_ival - Returns a value's data as an integer.Synopsis
int mpdm_ival(mpdm_t v);Arguments
- v
- the value
Description
Returns a value's data as an integer. If the value is a string, it's converted via sscanf and returned; non-string values have all an ival of 0. The converted integer is cached, so costly string conversions are only done once. Values created with the MPDM_IVAL flag set have its ival cached from the beginning.
Categories
Strings, Value Management
mpdm_join | Top |
Name
mpdm_join - Joins all elements of an array into one.Synopsis
mpdm_t mpdm_join(mpdm_t s, mpdm_t a);Arguments
- s
- joiner string
- a
- array to be joined
Description
Joins all elements from a into one string, using s as a glue.
Categories
Arrays, Strings
mpdm_keys | Top |
Name
mpdm_keys - Returns the keys of a hash.Synopsis
mpdm_t mpdm_keys(mpdm_t h);Arguments
- h
- the hash
Description
Returns an array containing all the keys of the h hash.
Categories
Hashes, Arrays
mpdm_new | Top |
Name
mpdm_new - Creates a new value.Synopsis
mpdm_t mpdm_new(int flags, void *data, int size);Arguments
- flags
- flags
- data
- pointer to real data
- size
- size of data
Description
Creates a new value. flags is an or-ed set of flags, data is a pointer to the data the value will store and size the size of these data (if value is to be a multiple one, size is a number of elements, or a number of bytes otherwise).
This function is normally not directly used; use any of the type creation macros instead.
Categories
Value Creation
mpdm_open | Top |
Name
mpdm_open - Opens a file.Synopsis
mpdm_t mpdm_open(mpdm_t filename, mpdm_t mode);Arguments
- filename
- the file name
- mode
- an fopen-like mode string
Description
Opens a file. If filename can be open in the specified mode, an mpdm_t value will be returned containing the file descriptor, or NULL otherwise.
Categories
File Management
mpdm_pclose | Top |
Name
mpdm_pclose - Closes a pipe.Synopsis
mpdm_t mpdm_pclose(mpdm_t fd);Arguments
- fd
- the value containing the file descriptor
Description
Closes a pipe.
Categories
File Management
mpdm_pop | Top |
Name
mpdm_pop - Pops a value from an array.Synopsis
mpdm_t mpdm_pop(mpdm_t a);Arguments
- a
- the array
Description
Pops a value from the array (i.e. deletes from the end and returns it).
Categories
Arrays
mpdm_popen | Top |
Name
mpdm_popen - Opens a pipe.Synopsis
mpdm_t mpdm_popen(mpdm_t prg, mpdm_t mode);Arguments
- prg
- the program to pipe
- mode
- an fopen-like mode string
Description
Opens a pipe to a program. If prg can be open in the specified mode, an mpdm_t value will be returned containing the file descriptor, or NULL otherwise.
Categories
File Management
mpdm_push | Top |
Name
mpdm_push - Pushes a value into an array.Synopsis
mpdm_t mpdm_push(mpdm_t a, mpdm_t e);Arguments
- a
- the array
- e
- the value
Description
Pushes a value into an array (i.e. inserts at the end).
Categories
Arrays
mpdm_queue | Top |
Name
mpdm_queue - Implements a queue in an array.Synopsis
mpdm_t mpdm_queue(mpdm_t a, mpdm_t e, int size);Arguments
- a
- the array
- e
- the element to be pushed
- size
- maximum size of array
Description
Pushes the e element into the a array. If the array already has size elements, the first (oldest) element is deleted from the queue and returned.
Returns the deleted element, or NULL if the array doesn't have size elements yet.
Categories
Arrays
mpdm_read | Top |
Name
mpdm_read - Reads a line from a file descriptor.Synopsis
mpdm_t mpdm_read(mpdm_t fd);Arguments
- fd
- the value containing the file descriptor
Description
Reads a line from fd. Returns the line, or NULL on EOF.
Categories
File Management, Character Set Conversion
mpdm_ref | Top |
Name
mpdm_ref - Increments the reference count of a value.Synopsis
mpdm_t mpdm_ref(mpdm_t v);Arguments
- v
- the value
Description
Increments the reference count of a value.
Categories
Value Management
mpdm_regex | Top |
Name
mpdm_regex - Matches a regular expression.Synopsis
mpdm_t mpdm_regex(mpdm_t r, mpdm_t v, int offset);Arguments
- r
- the regular expression
- v
- the value to be matched
- offset
- offset from the start of v->data
Description
Matches a regular expression against a value. Valid flags are 'i', for case-insensitive matching, 'm', to treat the string as a multiline string (i.e., one containing newline characters), so that ^ and $ match the boundaries of each line instead of the whole string, or 'l', to return the last matching instead of the first one.
If r is a string, an ordinary regular expression matching is tried over the v string. If the matching is possible, the matched string is returned, or NULL otherwise.
If r is an array (of strings), each element is tried sequentially as an individual regular expression over the v string, each one using the offset returned by the previous match. All regular expressions must match to be successful. If this is the case, an array (with the same number of arguments) is returned containing the matched strings, or NULL otherwise.
If r is NULL, the result of the previous regex matching is returned as a two element array. The first element will contain the character offset of the matching and the second the number of characters matched. If the previous regex was unsuccessful, NULL is returned.
Categories
Regular Expressions
mpdm_root | Top |
Name
mpdm_root - Returns the root hash.Synopsis
mpdm_t mpdm_root(void);Description
Returns the root hash. This hash is stored internally and can be used as a kind of global symbol table.
Categories
Value Management
mpdm_rval | Top |
Name
mpdm_rval - Returns a value's data as a real number (double).Synopsis
double mpdm_rval(mpdm_t v);Arguments
- v
- the value
Description
Returns a value's data as a real number (double float). If the value is a string, it's converted via sscanf and returned; non-string values have all an rval of 0. The converted double is cached, so costly string conversions are only done once. Values created with the MPDM_RVAL flag set have its rval cached from the beginning.
Categories
Strings, Value Management
mpdm_seek | Top |
Name
mpdm_seek - Seeks a value in an array (sequential).Synopsis
int mpdm_seek(mpdm_t a, mpdm_t k, int step);Arguments
- a
- the array
- k
- the key
- step
- number of elements to step
Description
Seeks sequentially the value k in the a array in increments of step. A complete search should use a step of 1. Returns the offset of the element if found, or -1 otherwise.
Categories
Arrays
mpdm_seek_s | Top |
Name
mpdm_seek_s - Seeks a value in an array (sequential, string version).Synopsis
int mpdm_seek_s(mpdm_t a, wchar_t * k, int step);Arguments
- a
- the array
- k
- the key
- step
- number of elements to step
Description
Seeks sequentially the value k in the a array in increments of step. A complete search should use a step of 1. Returns the offset of the element if found, or -1 otherwise.
Categories
Arrays
mpdm_shift | Top |
Name
mpdm_shift - Extracts the first element of an array.Synopsis
mpdm_t mpdm_shift(mpdm_t a);Arguments
- a
- the array
Description
Extracts the first element of the array. The array is shrinked by one.
Returns the deleted element.
Categories
Arrays
mpdm_shutdown | Top |
Name
mpdm_shutdown - Shuts down MPDM.Synopsis
void mpdm_shutdown(void);Description
Shuts down MPDM. No MPDM functions should be used from now on.
mpdm_size | Top |
Name
mpdm_size - Returns the size of an element.Synopsis
int mpdm_size(mpdm_t v);Arguments
- v
- the element
Description
Returns the size of an element.
Categories
Value Management
mpdm_sort | Top |
Name
mpdm_sort - Sorts an array.Synopsis
mpdm_t mpdm_sort(mpdm_t a, int step);Arguments
- a
- the array
- step
- increment step
Description
Sorts the array. step is the number of elements to group together.
Returns the sorted array (the original one is left untouched).
Categories
Arrays
mpdm_sort_cb | Top |
Name
mpdm_sort_cb - Sorts an array with a special sorting function.Synopsis
mpdm_t mpdm_sort_cb(mpdm_t a, int step, mpdm_t cb);Arguments
- a
- the array
- step
- increment step
- asort_cb
- sorting function
Description
Sorts the array. step is the number of elements to group together. For each pair of elements being sorted, the executable mpdm_t value sort_cb is called with an array containing the two elements as argument. It must return a signed numerical mpdm_t value indicating the sorting order.
Returns the sorted array (the original one is left untouched).
Categories
Arrays
mpdm_splice | Top |
Name
mpdm_splice - Creates a new string value from another.Synopsis
mpdm_t mpdm_splice(mpdm_t v, mpdm_t i, int offset, int del);Arguments
- v
- the original value
- i
- the value to be inserted
- offset
- offset where the substring is to be inserted
- del
- number of characters to delete
Description
Creates a new string value from v, deleting del chars at offset and substituting them by i. If del is 0, no deletion is done. both offset and del can be negative; if this is the case, it's assumed as counting from the end of v. If v is NULL, i will become the new string, and both offset and del will be ignored. If v is not NULL and i is, no insertion process is done (only deletion, if applicable).
Returns a two element array, with the new string in the first element and the deleted string in the second (with a NULL value if del is 0).
Categories
Strings
mpdm_split | Top |
Name
mpdm_split - Separates a string into an array of pieces.Synopsis
mpdm_t mpdm_split(mpdm_t s, mpdm_t v);Arguments
- s
- the separator
- v
- the value to be separated
Description
Separates the v string value into an array of pieces, using s as a separator.
If the separator is NULL, the string is splitted by characters.
If the string does not contain the separator, an array holding the complete string is returned.
Categories
Arrays, Strings
mpdm_sprintf | Top |
Name
mpdm_sprintf - Formats a sprintf()-like stringSynopsis
mpdm_t mpdm_sprintf(mpdm_t fmt, mpdm_t args);Arguments
- fmt
- the string format
- args
- an array of values
Description
Formats a string using the
sprintf()format taking the values from args.Categories
Strings
mpdm_sregex | Top |
Name
mpdm_sregex - Matches and substitutes a regular expression.Synopsis
mpdm_t mpdm_sregex(mpdm_t r, mpdm_t v, mpdm_t s, int offset);Arguments
- r
- the regular expression
- v
- the value to be matched
- s
- the substitution string, hash or code
- offset
- offset from the start of v->data
Description
Matches a regular expression against a value, and substitutes the found substring with s. Valid flags are 'i', for case-insensitive matching, and 'g', for global replacements (all ocurrences in v will be replaced, instead of just the first found one).
If s is executable, it's executed with the matched part as the only argument and its return value is used as the substitution string.
If s is a hash, the matched string is used as a key to it and its value used as the substitution.
If r is NULL, returns the number of substitutions made in the previous call to
mpdm_sregex()(can be zero if none was done).The global variables mpdm_regex_offset and mpdm_regex_size are set to the offset of the matched string and the size of the replaced string, respectively.
Returns the modified string, or the original one if no substitutions were done.
Categories
Regular Expressions
mpdm_startup | Top |
Name
mpdm_startup - Initializes MPDM.Synopsis
int mpdm_startup(void);Description
Initializes the Minimum Profit Data Manager. Returns 0 if everything went OK.
mpdm_stat | Top |
Name
mpdm_stat - Gives status from a file.Synopsis
mpdm_t mpdm_stat(mpdm_t filename);Arguments
- filename
- file name to get the status from
Description
Returns a 13 element array of the status (permissions, onwer, etc.) from the desired filename, or NULL if the file cannot be accessed. (man 2 stat).
Categories
File Management
mpdm_strcat | Top |
Name
mpdm_strcat - Concatenates two strings.Synopsis
mpdm_t mpdm_strcat(mpdm_t s1, mpdm_t s2);Arguments
- s1
- the first string
- s2
- the second string
Description
Returns a new string formed by the concatenation of s1 and s2.
Categories
Strings
mpdm_string | Top |
Name
mpdm_string - Returns a printable representation of a value.Synopsis
wchar_t *mpdm_string(mpdm_t v);Arguments
- v
- the value
Description
Returns a printable representation of a value. For strings, it's the value data itself; for any other type, a conversion to string is returned instead. This value should be used immediately, as it can be a pointer to a static buffer.
Categories
Strings
mpdm_sweep | Top |
Name
mpdm_sweep - Sweeps unreferenced values.Synopsis
void mpdm_sweep(int count);Arguments
- count
- number of values to be swept
Description
Destroys values with a reference count of 0. count is the number of values to be checked for deletion; special values of count are -1, that forces a check of all currently known values (can be time-consuming) and 0, which tells
mpdm_sweep()to check a small group of them on each call.Categories
Value Management
mpdm_ulc | Top |
Name
mpdm_ulc - Converts a string to uppercase or lowecaseSynopsis
mpdm_t mpdm_ulc(mpdm_t s, int u);Arguments
- s
- the string
- u
- convert to uppercase (1) or to lowercase (0).
Description
Converts s to uppercase (for u == 1) or to lowercase (u == 0).
Categories
Strings
mpdm_unlink | Top |
Name
mpdm_unlink - Deletes a file.Synopsis
int mpdm_unlink(mpdm_t filename);Arguments
- filename
- file name to be deleted
Description
Deletes a file.
Categories
File Management
mpdm_unref | Top |
Name
mpdm_unref - Decrements the reference count of a value.Synopsis
mpdm_t mpdm_unref(mpdm_t v);Arguments
- v
- the value
Description
Decrements the reference count of a value.
Categories
Value Management
mpdm_write | Top |
Name
mpdm_write - Writes a value into a file.Synopsis
int mpdm_write(mpdm_t fd, mpdm_t v);Arguments
- fd
- the file descriptor.
- v
- the value to be written.
Description
Writes the v string value into fd, using the current encoding.
Categories
File Management, Character Set Conversion
| Angel Ortega - angel@triptico.com | Built with mp_doccer 1.2.0 |