cdefines

Crates.iocdefines
lib.rscdefines
version0.1.4
sourcesrc
created_at2019-05-12 08:57:09.8411
updated_at2022-06-05 01:39:29.896585
descriptionA proc macro that translates c #define constants to rust consts
homepagehttps://github.com/jiegec/cdefines
repositoryhttps://github.com/jiegec/cdefines
max_upload_size
id133699
size10,138
Chen (jiegec)

documentation

https://docs.rs/cdefines

README

cdefines

Turn #define C codes into Rust constants.

How to use:

Add to code:

extern crate cdefines;

#[cdefines::preprocessor]
const IOCTL: &str = 
    "#define TCGETS		0x5401
    #define TCSETS		0x5402
    #define TCSETSW		0x5403
    #define TCSETSF		0x5404";

It gets translated to:

const IOCTL_TCGETS: usize = 0x5401;
// ...
enum IOCTL {
    TCGETS = 0x5401,
    // ...
}

What is supported

  1. Plain integers(hex, oct, bin, dec) e.g. #define A 0x1234.
  2. Simple define cascading e.g. #define A 123 and then #define B A.
Commit count: 8

cargo fmt