home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Headers / bsd / net / netbuf.h < prev    next >
C/C++ Source or Header  |  1997-04-27  |  1KB  |  37 lines

  1. /* 
  2.  * Copyright (C) 1990 by NeXT, Inc., All Rights Reserved
  3.  *
  4.  */
  5.  
  6. /* 
  7.  * Network Buffer API (for kernel use only)
  8.  *
  9.  * HISTORY
  10.  * 09-Apr-90  Bradley Taylor (btaylor) at NeXT, Inc.
  11.  *    Created. 
  12.  */
  13. #ifndef _NETBUF_
  14. #define _NETBUF_
  15.  
  16. typedef struct { char opaque[1]; } *netbuf_t;
  17.  
  18. #ifdef KERNEL
  19.  
  20. extern char *nb_map(netbuf_t nb);
  21. extern netbuf_t nb_alloc(unsigned size);
  22. extern netbuf_t nb_alloc_wrapper(void *data, unsigned size,
  23.                  void freefunc(void *), void *freefunc_arg);
  24.  
  25. extern void nb_free(netbuf_t nb);
  26. extern void nb_free_wrapper(netbuf_t nb);
  27. extern unsigned nb_size(netbuf_t nb);
  28. extern int nb_read(netbuf_t nb, unsigned offset, unsigned size, void *target);
  29. extern int nb_write(netbuf_t nb, unsigned offset, unsigned size, void *source);
  30. extern int nb_shrink_top(netbuf_t nb, unsigned size);
  31. extern int nb_grow_top(netbuf_t nb, unsigned size);
  32. extern int nb_shrink_bot(netbuf_t nb, unsigned size);
  33. extern int nb_grow_bot(netbuf_t nb, unsigned size);
  34.  
  35. #endif /* KERNEL */
  36. #endif /* _NETBUF_ */
  37.