write function

int write(
  1. int fd,
  2. List<int> buf
)

Writes buf to FD. Return the number of bytes written;

Throws a PosixException if an error occurs.

Implementation

int write(
  int fd,
  List<int> buf, // ffi.Pointer<ffi.Void> buf,
) {
  final cBuf = copyDartListToCBuff(buf);

  _write ??= Libc().dylib.lookupFunction<
      ffi.Int64 Function(ffi.Int32, ffi.Pointer<ffi.Int8>, ffi.Uint64),
      _dart_write>('write');
  final written = _write!(
    fd,
    cBuf,
    buf.length,
  );

  _throwIfErrno('pwrite', written, cBuf);

  malloc.free(cBuf);

  return written;
}