Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
STRUCTS_TYPE_STRING(3) FreeBSD 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>

FreeBSD	13.0			April 22, 2002			  FreeBSD 13.0

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | SEE ALSO | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=structs_type_string&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help