Skip to content

ANSI C RIBBIT LIBRARIES

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
COPYING
Notifications You must be signed in to change notification settings

rjenkins/c-RIBBIT

Repository files navigation

RIBBIT


                           '.  ckO,
                         .xKOXXkkNko                            ';
                        0xoclodOkkKKKd;.      .       .        .... .
                        do'.  ':lxK0KkXWxkOOkOddl';;.  .  .      .,        ..;.
                         .:.     ,dxXOWKcxdKcxkkkdokOKll.. ..  .  ;   .  ..   '
             .    .       .c      'dx0OKddXKOdx0KXxcOxkNKo   '.   :. . .'
            . .. ;,      . c,      ::xdNkkdlxxkOdkkK000WXX0l'.'. .d.' ...''..
         ....... ,  ....  .;x'     .cxONkKXNO0K0KXKNKKXWWWNWNk:;.,d;,l','.'  . ...
        ...'',::c'.........c0Oc..  .'oOX0NOXkKx0XNXOxKWWWXXK0dl',l0dkc;;.... ... ..
       .....;cx.';.....,::;:xNN0l,..'';OXNKkdxNWKkkxXKOKKOXWKO0dokN0l;'.. .  .
      .....';oklccdodl:clllolONXKKl,,;;oNKO0kxNX0OKNXNXN0XKdxKKOdXWOx:,..
     .';:,'..':,.,,,,'......:XXNXxk::;.dNKX0ONXKxxOOkO0OOOKX0kkKXXkoc.
     ..,;::,,:;......''.':,;:,;dx';ld0xkOXKKkoclkkx0XX0OOxOkkXK0d:;,'..
             .    ...':clc::;,'',;lOKO000kxkOOxcllkdooOKxkKOkdc,,..
                   .,:;:ocooccllc::cc:;,',,'.....oo,.oc,'..
                            .......   ...'..    c'....

C RIBBIT library.

Quick start

  ./configure
   make
   make install

Both static and dynamic libraries will be built and installed by default

rjenkins@rjenkins-VirtualBox:~/c-RIBBIT$ ls -lart /usr/local/lib/ | grep ribbit
-rwxr-xr-x  1 root root  437837 Mar 12 15:36 libribbit.so.0.0.0
lrwxrwxrwx  1 root root      18 Mar 12 15:36 libribbit.so.0 -> libribbit.so.0.0.0
lrwxrwxrwx  1 root root      18 Mar 12 15:36 libribbit.so -> libribbit.so.0.0.0
-rwxr-xr-x  1 root root    1001 Mar 12 15:36 libribbit.la
-rw-r--r--  1 root root  753180 Mar 12 15:36 libribbit.a
/* HOW TO CREATE YOUR FROG */
FROG * frog_init();

/* SAFELY DISPOSE OF FROG */
void frog_close(FROG *frog);

/* LOADING FROG IS SIMPLE */
void croak(FROG *frog);

/* WARNING - ONLY FOR FROG TESTING */
void load_croak(FROG *frog, FILE *fp);

/* STANDBY FOR IMPORTANT TIPS FROM FROG */
FrogTip_t * get_tip(FROG *frog);

See croak executable (src/croak_exec.c) for example of how to use the library

int main() {

  void *handle;
  void (*croak)(FROG *);
  FROG *(*frog_init)(void);
  FrogTip_t *(*get_tip)(FROG *);
  void (*frog_close)(FROG *);

  handle = dlopen("libribbit.so.0", RTLD_LAZY);

  /* RUH ROH */
  if(!handle) {
    fputs(dlerror(), stderr);
    exit(1);
  }

  frog_init = dlsym(handle, "frog_init");
  frog_close = dlsym(handle, "frog_close");
  croak = dlsym(handle, "croak");
  get_tip = dlsym(handle, "get_tip");

  FROG *frog = (*frog_init)();

  /* BEGIN SEQUENCE */
  (*croak)(frog);

  FrogTip_t *t = (*get_tip)(frog);
  printf("%s\n", t->tip.buf);

  return 0;
}
rjenkins@rjenkins-VirtualBox:~/c-RIBBIT$ croak
DUE TO UNEXPECTEDLY HIGH DEMAND OVER CHRISTMAS, FROG IS IN SHORT SUPPLY. YOU MAY HAVE TO HOLD OUT FOR FROG UNTIL THE END OF THE NIGHT.

Dependencies

libcurl

sudo apt-get install libcurl4-gnutls-dev

asn1c

sudo apt-get install asn1c

If you want to run test make sure libcheck is installed

sudo apt-get install check

If you installed asn1c headers and source in a non-standard location rebuild from asn1 using asn1c

asn1c ribbit.asn1
./configure; make ; make install

About

ANSI C RIBBIT LIBRARIES

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published