document.write('<link rel="stylesheet" href="http://friendpaste.com/static/css/embed.css"/>');


document.write('\n<div class=\"friendpaste\">\n    <div class=\"friendpaste-syntax\">\n\n\<table\ id\=\"review\_comment\_area\"\>\<tr\>\<td\ class\=\"nums\"\>\<table\ class\=\"numsTable\"\>\<tr\ id\=\"1\"\>\<td\ class\=\"line\-number\"\>1\<\/td\>\<\/tr\>\<tr\ id\=\"2\"\>\<td\ class\=\"line\-number\"\>2\<\/td\>\<\/tr\>\<tr\ id\=\"3\"\>\<td\ class\=\"line\-number\"\>3\<\/td\>\<\/tr\>\<tr\ id\=\"4\"\>\<td\ class\=\"line\-number\"\>4\<\/td\>\<\/tr\>\<tr\ id\=\"5\"\>\<td\ class\=\"line\-number\"\>5\<\/td\>\<\/tr\>\<tr\ id\=\"6\"\>\<td\ class\=\"line\-number\"\>6\<\/td\>\<\/tr\>\<tr\ id\=\"7\"\>\<td\ class\=\"line\-number\"\>7\<\/td\>\<\/tr\>\<tr\ id\=\"8\"\>\<td\ class\=\"line\-number\"\>8\<\/td\>\<\/tr\>\<tr\ id\=\"9\"\>\<td\ class\=\"line\-number\"\>9\<\/td\>\<\/tr\>\<tr\ id\=\"10\"\>\<td\ class\=\"line\-number\"\>10\<\/td\>\<\/tr\>\<tr\ id\=\"11\"\>\<td\ class\=\"line\-number\"\>11\<\/td\>\<\/tr\>\<tr\ id\=\"12\"\>\<td\ class\=\"line\-number\"\>12\<\/td\>\<\/tr\>\<tr\ id\=\"13\"\>\<td\ class\=\"line\-number\"\>13\<\/td\>\<\/tr\>\<tr\ id\=\"14\"\>\<td\ class\=\"line\-number\"\>14\<\/td\>\<\/tr\>\<tr\ id\=\"15\"\>\<td\ class\=\"line\-number\"\>15\<\/td\>\<\/tr\>\<tr\ id\=\"16\"\>\<td\ class\=\"line\-number\"\>16\<\/td\>\<\/tr\>\<tr\ id\=\"17\"\>\<td\ class\=\"line\-number\"\>17\<\/td\>\<\/tr\>\<tr\ id\=\"18\"\>\<td\ class\=\"line\-number\"\>18\<\/td\>\<\/tr\>\<tr\ id\=\"19\"\>\<td\ class\=\"line\-number\"\>19\<\/td\>\<\/tr\>\<tr\ id\=\"20\"\>\<td\ class\=\"line\-number\"\>20\<\/td\>\<\/tr\>\<tr\ id\=\"21\"\>\<td\ class\=\"line\-number\"\>21\<\/td\>\<\/tr\>\<tr\ id\=\"22\"\>\<td\ class\=\"line\-number\"\>22\<\/td\>\<\/tr\>\<tr\ id\=\"23\"\>\<td\ class\=\"line\-number\"\>23\<\/td\>\<\/tr\>\<tr\ id\=\"24\"\>\<td\ class\=\"line\-number\"\>24\<\/td\>\<\/tr\>\<tr\ id\=\"25\"\>\<td\ class\=\"line\-number\"\>25\<\/td\>\<\/tr\>\<tr\ id\=\"26\"\>\<td\ class\=\"line\-number\"\>26\<\/td\>\<\/tr\>\<tr\ id\=\"27\"\>\<td\ class\=\"line\-number\"\>27\<\/td\>\<\/tr\>\<tr\ id\=\"28\"\>\<td\ class\=\"line\-number\"\>28\<\/td\>\<\/tr\>\<tr\ id\=\"29\"\>\<td\ class\=\"line\-number\"\>29\<\/td\>\<\/tr\>\<tr\ id\=\"30\"\>\<td\ class\=\"line\-number\"\>30\<\/td\>\<\/tr\>\<tr\ id\=\"31\"\>\<td\ class\=\"line\-number\"\>31\<\/td\>\<\/tr\>\<tr\ id\=\"32\"\>\<td\ class\=\"line\-number\"\>32\<\/td\>\<\/tr\>\<tr\ id\=\"33\"\>\<td\ class\=\"line\-number\"\>33\<\/td\>\<\/tr\>\<tr\ id\=\"34\"\>\<td\ class\=\"line\-number\"\>34\<\/td\>\<\/tr\>\<\/table\>\<\/td\>\<td\ class\=\"lines\"\>\<pre\>\<table\ class\=\"sourceTable\"\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL2\"\>\<span\ class\=\"cp\"\>\#include\ \&lt\;erl\_driver\.h\&gt\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL3\"\>\<span\ class\=\"cp\"\>\#include\ \&lt\;ei\.h\&gt\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL4\"\>\<span\ class\=\"cp\"\>\#include\ \&lt\;stdio\.h\&gt\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL5\"\>\<span\ class\=\"cp\"\>\#include\ \&lt\;string\.h\&gt\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL6\"\>\<span\ class\=\"cp\"\>\#include\ \&lt\;db\.h\&gt\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL7\"\>\<br\ \/\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL8\"\>\<span\ class\=\"c1\"\>\/\/\ Path\ to\ file\ where\ data\ will\ be\ stored\.\ \<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL9\"\>\<span\ class\=\"c1\"\>\/\/\ It\ will\ be\ created\ if\ it\ doesn\&\#39\;t\ exist\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL10\"\>\<span\ class\=\"cp\"\>\#define\ DB\_PATH\ \&quot\;\.\/store\.db\&quot\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL11\"\>\<br\ \/\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL12\"\>\<span\ class\=\"c1\"\>\/\/\ Binary\ commands\ between\ Erlang\ VM\ and\ Driver\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL13\"\>\<span\ class\=\"cp\"\>\#define\ CMD\_PUT\ 1\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL14\"\>\<span\ class\=\"cp\"\>\#define\ CMD\_GET\ 2\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL15\"\>\<span\ class\=\"cp\"\>\#define\ CMD\_DEL\ 3\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL16\"\>\<br\ \/\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL17\"\>\<span\ class\=\"c1\"\>\/\/\ Number\ of\ bytes\ for\ each\ key\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL18\"\>\<span\ class\=\"c1\"\>\/\/\ \(160\ bits\ for\ SHA1\ hash\)\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL19\"\>\<span\ class\=\"cp\"\>\#define\ KEY\_SIZE\ 20\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL20\"\>\<br\ \/\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL21\"\>\<span\ class\=\"c1\"\>\/\/\ Define\ struct\ to\ hold\ state\ across\ calls\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL22\"\>\<span\ class\=\"k\"\>typedef\<\/span\>\ \<span\ class\=\"k\"\>struct\<\/span\>\ \<span\ class\=\"n\"\>\_bdb\_drv\_t\<\/span\>\ \<span\ class\=\"p\"\>\{\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL23\"\>\ \ \<span\ class\=\"n\"\>ErlDrvPort\<\/span\>\ \<span\ class\=\"n\"\>port\<\/span\>\<span\ class\=\"p\"\>\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL24\"\>\ \<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL25\"\>\ \ \<span\ class\=\"n\"\>DB\<\/span\>\ \<span\ class\=\"o\"\>\*\<\/span\>\<span\ class\=\"n\"\>db\<\/span\>\<span\ class\=\"p\"\>\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL26\"\>\<span\ class\=\"p\"\>\}\<\/span\>\ \<span\ class\=\"n\"\>bdb\_drv\_t\<\/span\>\<span\ class\=\"p\"\>\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL27\"\>\<br\ \/\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL28\"\>\<br\ \/\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL29\"\>\<span\ class\=\"k\"\>static\<\/span\>\ \<span\ class\=\"n\"\>ErlDrvData\<\/span\>\ \<span\ class\=\"n\"\>start\<\/span\>\<span\ class\=\"p\"\>\(\<\/span\>\<span\ class\=\"n\"\>ErlDrvPort\<\/span\>\ \<span\ class\=\"n\"\>port\<\/span\>\<span\ class\=\"p\"\>\,\<\/span\>\ \<span\ class\=\"kt\"\>char\<\/span\>\<span\ class\=\"o\"\>\*\<\/span\>\ \<span\ class\=\"n\"\>cmd\<\/span\>\<span\ class\=\"p\"\>\)\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL30\"\>\<span\ class\=\"k\"\>static\<\/span\>\ \<span\ class\=\"kt\"\>void\<\/span\>\ \<span\ class\=\"n\"\>stop\<\/span\>\<span\ class\=\"p\"\>\(\<\/span\>\<span\ class\=\"n\"\>ErlDrvData\<\/span\>\ \<span\ class\=\"n\"\>handle\<\/span\>\<span\ class\=\"p\"\>\)\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL31\"\>\<span\ class\=\"k\"\>static\<\/span\>\ \<span\ class\=\"kt\"\>void\<\/span\>\ \<span\ class\=\"n\"\>outputv\<\/span\>\<span\ class\=\"p\"\>\(\<\/span\>\<span\ class\=\"n\"\>ErlDrvData\<\/span\>\ \<span\ class\=\"n\"\>handle\<\/span\>\<span\ class\=\"p\"\>\,\<\/span\>\ \<span\ class\=\"n\"\>ErlIOVec\<\/span\>\ \<span\ class\=\"o\"\>\*\<\/span\>\<span\ class\=\"n\"\>ev\<\/span\>\<span\ class\=\"p\"\>\)\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL32\"\>\<span\ class\=\"k\"\>static\<\/span\>\ \<span\ class\=\"kt\"\>void\<\/span\>\ \<span\ class\=\"n\"\>put\<\/span\>\<span\ class\=\"p\"\>\(\<\/span\>\<span\ class\=\"n\"\>bdb\_drv\_t\<\/span\>\ \<span\ class\=\"o\"\>\*\<\/span\>\<span\ class\=\"n\"\>bdb\_drv\<\/span\>\<span\ class\=\"p\"\>\,\<\/span\>\ \<span\ class\=\"n\"\>ErlIOVec\<\/span\>\ \<span\ class\=\"o\"\>\*\<\/span\>\<span\ class\=\"n\"\>ev\<\/span\>\<span\ class\=\"p\"\>\)\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL33\"\>\<span\ class\=\"k\"\>static\<\/span\>\ \<span\ class\=\"kt\"\>void\<\/span\>\ \<span\ class\=\"n\"\>get\<\/span\>\<span\ class\=\"p\"\>\(\<\/span\>\<span\ class\=\"n\"\>bdb\_drv\_t\<\/span\>\ \<span\ class\=\"o\"\>\*\<\/span\>\<span\ class\=\"n\"\>bdb\_drv\<\/span\>\<span\ class\=\"p\"\>\,\<\/span\>\ \<span\ class\=\"n\"\>ErlIOVec\<\/span\>\ \<span\ class\=\"o\"\>\*\<\/span\>\<span\ class\=\"n\"\>ev\<\/span\>\<span\ class\=\"p\"\>\)\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL34\"\>\<span\ class\=\"k\"\>static\<\/span\>\ \<span\ class\=\"kt\"\>void\<\/span\>\ \<span\ class\=\"n\"\>del\<\/span\>\<span\ class\=\"p\"\>\(\<\/span\>\<span\ class\=\"n\"\>bdb\_drv\_t\<\/span\>\ \<span\ class\=\"o\"\>\*\<\/span\>\<span\ class\=\"n\"\>bdb\_drv\<\/span\>\<span\ class\=\"p\"\>\,\<\/span\>\ \<span\ class\=\"n\"\>ErlIOVec\<\/span\>\ \<span\ class\=\"o\"\>\*\<\/span\>\<span\ class\=\"n\"\>ev\<\/span\>\<span\ class\=\"p\"\>\)\;\<\/span\>\<\/td\>\<\/tr\>\<tr\>\<td\ class\=\"line\-content\"\ id\=\"CL35\"\>\<span\ class\=\"k\"\>static\<\/span\>\ \<span\ class\=\"kt\"\>void\<\/span\>\ \<span\ class\=\"n\"\>unkown\<\/span\>\<span\ class\=\"p\"\>\(\<\/span\>\<span\ class\=\"n\"\>bdb\_drv\_t\<\/span\>\ \<span\ class\=\"o\"\>\*\<\/span\>\<span\ class\=\"n\"\>bdb\_drv\<\/span\>\<span\ class\=\"p\"\>\,\<\/span\>\ \<span\ class\=\"n\"\>ErlIOVec\<\/span\>\ \<span\ class\=\"o\"\>\*\<\/span\>\<span\ class\=\"n\"\>ev\<\/span\>\<span\ class\=\"p\"\>\)\;\<\/span\>\<\/td\>\<\/tr\>\<\/table\>\<\/pre\>\<\/td\>\<\/tr\>\<\/table\>\n\n\n    </div>\n    <div class=\"friendpaste-meta\">\n        <span class=\"friendpaste_actions\"><a href=\"http://friendpaste.com/7mikjxUwFF03XdYy6UFqLk\">link</a> - <a href=\"http://friendpaste.com/7mikjxUwFF03XdYy6UFqLk_393731303864/raw\">raw</a></span>\n        <span class=\"friendpaste_link\">This paste is brought you by <a href=\"http://friendpaste.com\">Friendpaste</a>.</span>\n    </div>\n</div>');

