Acquire a pointer to a buffer of the specified length, to be filled in and sent later.
Warning: this API is NOT thread safe between sources on the same transport session.
For thread safety, use the send(array<Byte>[]()[], Int32, Int32) api.

- bufp ( IntPtr %)
- A pointer to the location in memory availble for writing to.
- len (UInt32)
- The request length of the buffer in bytes
- flags (Int32)
- Set to SRC_NONBLOCK for non-blocking behavior. Default is blocking.

0 if successful, -1 if send would block and non-blocking sends were requested.