#include <linux/config.h>
#define MODULE
#include <linux/module.h>

#ifdef MODVERSIONS
#include <linux/modversions.h>
#endif 

#include <asm/uaccess.h>
/* Necessary includes */
#include <linux/fs.h>
#include <linux/init.h>

// #include "tracerref.ver"
int reffun();
int reffun()
{
	printk("used by tracer\n");
	return 0;
}

EXPORT_SYMBOL(reffun);

#ifdef MODULE
/**************************************************************
 * Function : cleanup_module()
 * Description : Cleanup of the tracer.
 * Parameters : NONE
 * Return values : NONE
 * Note : The order of the unregesterings is important. First,
 *        rule out any possibility of getting more trace 
 *        data. Second, rule out any possibility of being read
 *        by the tracing daemon. Last, free the tracing
 *        buffer.
 **************************************************************/
 void tracer_exit(void)
{
	printk("exit reftracr\n");
	return;
}
module_exit(tracer_exit);
#endif

/**************************************************************
 * Function : tracer_init()
 * Description : Tracer initialization function.
 * Parameters :
 *     NONE
 * Return values : 
 *    0, everything went OK
 *    -ENOMEM, unable to get a hold of memory for tracer
 **************************************************************/
int __init tracer_init(void)
{
  int  lError = 0; /* Error, if any */
  printk("intall reftracer\n");

  return lError;
}
module_init(tracer_init);







