Undocumented in source.
the number of bytes that can be stored in the string before it needs to be reallocated. May be larger than len.
contains the length of the string, not including the terminating nul byte.
points to the character data. It may move as text is added. The str field is null-terminated and so can be used as an ordinary C string.