FreeBSD Manual Pages
STRUCTS_TYPE_STRING(3) BSD Library Functions Manual STRUCTS_TYPE_STRING(3) NAME structs_type_string, structs_type_string_null, -- structs types for strings LIBRARY PDEL Library (libpdel, -lpdel) SYNOPSIS #include <sys/types.h> #include <pdel/structs/structs.h> #include <pdel/structs/type/string.h> STRUCTS_STRING_TYPE(mtype, asnull); STRUCTS_FIXEDSTRING_TYPE(bufsize); extern const struct structs_type structs_type_string; extern const struct structs_type structs_type_string_null; DESCRIPTION The STRUCTS_STRING_TYPE() and STRUCTS_FIXEDSTRING_TYPE() macros define a structs(3) type (i.e., a struct structs_type) for describing variable and bounded length strings, respectively. STRUCTS_STRING_TYPE() describes a char * data type which points to a string buffer allocated with typed_mem(3) type mtype. If asnull is non- zero, then an empty string may be represented as a NULL pointer; other- wise, the char * pointer can never be NULL (or else the program may core dump) and so the empty string must always be represented as a pointer to a zero length string. STRUCTS_FIXEDSTRING_TYPE() describes an array of char having length bufsize in which a string having length at most bufsize - 1 is stored. The string is always terminated with a '\0' byte. The structs(3) library supplies two pre-defined variable length string types, structs_type_string and structs_type_string_null. Both types use the typed_mem(3) type STRUCTS_TYPE_STRING_MTYPE, defined in the header file. structs_type_string represents empty strings as pointers to an empty string, while structs_type_string_null represents empty strings as NULL pointers. SEE ALSO libpdel(3), structs(3), structs_type(3), typed_mem(3) HISTORY The PDEL library was developed at Packet Design, LLC. http://www.packetdesign.com/ AUTHORS Archie Cobbs <archie@freebsd.org> BSD April 22, 2002 BSD
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | SEE ALSO | HISTORY | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=structs_type_string&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>