Added a macro for wrapping C STD lib functions.

This commit is contained in:
Myrddin Dundragon 2019-06-25 02:53:19 -04:00
parent 3bc41bae4f
commit ecb382c0c3

View File

@ -1,3 +1,37 @@
#[macro_export]
macro_rules! c_library
{
{
$(statics:
{
$($sname: ident: $stype: ty);+;
}
)?
$(functions:
{
$($fname: ident($($farg: ident: $fargt: ty),*) -> $fret:ty);+;
}
)?
$(varargs:
{
$($vname: ident($($vargs: ident: $vargst: ty),+) -> $vret:ty);+;
}
)?
} =>
{
extern "C"
{
$($(pub static $sname: $stype;)+)?
$($(pub fn $fname($($farg: $fargt),*) -> $fret;)+)?
$($(pub fn $vname($(vargs: $vargst),+ , ...) -> $vret;)+)?
}
};
}
#[macro_export]
macro_rules! external_library
{