/src/Manos.IO/Manos.IO.Libev/SocketFunctions.cs

http://github.com/jacksonh/manos · C# · 47 lines · 34 code · 13 blank · 0 comment · 0 complexity · 0d26abc5f8676edeefcd6ce2e824f43b MD5 · raw file

  1. using System;
  2. using System.Runtime.InteropServices;
  3. namespace Manos.IO.Libev
  4. {
  5. static class SocketFunctions
  6. {
  7. [DllImport ("libmanos", CallingConvention = CallingConvention.Cdecl)]
  8. public static extern int manos_socket_localname_ip (int fd, out ManosIPEndpoint ep, out int err);
  9. [DllImport ("libmanos", CallingConvention = CallingConvention.Cdecl)]
  10. public static extern int manos_socket_peername_ip (int fd, out ManosIPEndpoint ep, out int err);
  11. [DllImport ("libmanos", CallingConvention = CallingConvention.Cdecl)]
  12. public static extern int manos_socket_bind_ip (int fd, ref ManosIPEndpoint ep, out int err);
  13. [DllImport ("libmanos", CallingConvention = CallingConvention.Cdecl)]
  14. public static extern int manos_socket_connect_ip (int fd, ref ManosIPEndpoint ep, out int err);
  15. [DllImport ("libmanos", CallingConvention = CallingConvention.Cdecl)]
  16. public static extern int manos_socket_listen (int fd, int backlog, out int err);
  17. [DllImport ("libmanos", CallingConvention = CallingConvention.Cdecl)]
  18. public static extern int manos_socket_accept (int fd, out ManosIPEndpoint remote, out int err);
  19. [DllImport ("libmanos", CallingConvention = CallingConvention.Cdecl)]
  20. public static extern int manos_socket_create (int addressFamily, int protocolFamily, out int err);
  21. [DllImport ("libmanos", CallingConvention = CallingConvention.Cdecl)]
  22. public static extern int manos_socket_send (int fd, byte[] buffer, int offset, int length, out int err);
  23. [DllImport ("libmanos", CallingConvention = CallingConvention.Cdecl)]
  24. public static extern int manos_socket_receive (int fd, byte[] buffer, int length, out int err);
  25. [DllImport ("libmanos", CallingConvention = CallingConvention.Cdecl)]
  26. public static extern int manos_socket_sendto_ip (int fd, byte[] buffer, int offset, int length,
  27. ref ManosIPEndpoint to, out int err);
  28. [DllImport ("libmanos", CallingConvention = CallingConvention.Cdecl)]
  29. public static extern int manos_socket_receivefrom_ip (int fd, byte[] buffer, int length,
  30. out ManosIPEndpoint source, out int err);
  31. [DllImport ("libmanos", CallingConvention = CallingConvention.Cdecl)]
  32. public static extern int manos_socket_close (int fd, out int err);
  33. }
  34. }