Commits

Anonymous committed d44300a

Submit cf-0.1 release.

Comments (0)

Files changed (3)

cf/cf_nameinfo_p.h

 /*---------------------------------------------------------------------------*
   C HEADER  cf_nameinfo_p.h
 
-  Copyright (c) 2003, James H. Woodyatt
+  Copyright (c) 2003-2004, James H. Woodyatt
   All rights reserved.
 
   Redistribution and use in source and binary forms, with or without
 
 #include "cf_socket_p.h"
 
-#define Cf_nameinfo_sockaddr_val(v) \
-    ((struct sockaddr*) Data_custom_val(v))
-extern value cf_nameinfo_sockaddr_alloc
-    (const struct sockaddr_storage* addrPtr);
-
 #endif /* defined(_CF_NAMEINFO_P_H) */
 
 /*--- End of File [ cf_nameinfo_p.h ] ---*/
+(*---------------------------------------------------------------------------*
+  IMPLEMENTATION  cf_netif.ml
+
+  Copyright (c) 2004, James H. Woodyatt
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+    Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+    Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+  COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+  OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *---------------------------------------------------------------------------*)
+
+external nametoindex: string -> int = "cf_netif_nametoindex"
+external indextoname: int -> string = "cf_netif_indextoname"
+external nameindex: unit -> (int * string) list = "cf_netif_nameindex"
+
+(*--- End of File [ cf_netif.ml ] ---*)
+(*---------------------------------------------------------------------------*
+  INTERFACE  cf_netif.mli
+
+  Copyright (c) 2004, James H. Woodyatt
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+    Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+    Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+  COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+  OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *---------------------------------------------------------------------------*)
+
+(** Network interface name/index mapping. *)
+
+(** {6 Overview}
+
+    Wrapper around the standard network interface name/index mapping functions
+    defined in {[<net/if.h>]}.
+*)
+
+(** Use [nametoindex name] to get the index for the interface [name].  Raises
+    [Not_found] if the interface does not currently exist.
+*)
+val nametoindex: string -> int
+
+(** Use [indextoname index] to get the index for the interface [name].  Raises
+    [Not_found] if the interface does not currently exist.
+*)
+val indextoname: int -> string
+
+(** Use [nameindex ()] to obtain the current list of network interfaces, by
+    index and name.
+*)
+val nameindex: unit -> (int * string) list
+
+(*--- End of File [ cf_netif.mli ] ---*)