Module Macaddr

A library for manipulation of MAC address representations.

2.7.2 - homepage

exception Parse_error of string * string

Raised when parsing of MAC address syntax fails.

type t

Type of the hardware address (MAC) of an ethernet interface.

val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val compare : t -> t -> int

Functions converting MAC addresses to bytes/string and vice versa.

val of_bytes_exn : string -> t

of_bytes_exn buf is the hardware address extracted from buf. Raises Parse_error if buf has not length 6.

val of_bytes : string -> t option

Same as above but returns an option type instead of raising an exception.

val of_string_exn : string -> t

of_string_exn mac_string is the hardware address represented by mac_string. Raises Parse_error if mac_string is not a valid representation of a MAC address.

val of_string : string -> t option

Same as above but returns an option type instead of raising an exception.

val to_bytes : t -> string

to_bytes mac_addr is a string of size 6 encoding mac_addr.

val to_string : ?sep:char -> t -> string

to_string ?(sep=':') mac_addr is the sep-separated string representation of mac_addr, i.e. xx:xx:xx:xx:xx:xx.

val broadcast : t

broadcast is ff:ff:ff:ff:ff:ff.

val make_local : (int -> int) -> t

make_local bytegen creates a unicast, locally administered MAC address given a function mapping octet offset to octet value.

val get_oui : t -> int

get_oui macaddr is the integer organization identifier for macaddr.

val is_local : t -> bool

is_local macaddr is the predicate on the locally administered bit of macaddr.

val is_unicast : t -> bool

is_unicast macaddr the is the predicate on the unicast bit of macaddr.

include Map.OrderedType with type t := t
type t

The type of the map keys.

val compare : t -> t -> int

A total ordering function over the keys. This is a two-argument function f such that f e1 e2 is zero if the keys e1 and e2 are equal, f e1 e2 is strictly negative if e1 is smaller than e2, and f e1 e2 is strictly positive if e1 is greater than e2. Example: a suitable ordering function is the generic structural comparison function Pervasives.compare.