1bad58c9cSBen Gras #include <lib.h>
2bad58c9cSBen Gras #include <string.h>
3bad58c9cSBen Gras #include <minix/gcov.h>
4bad58c9cSBen Gras
5*3ac58492SDavid van Moolenbroek int
gcov_flush_svr(const char * label,char * buff,size_t buff_sz)6*3ac58492SDavid van Moolenbroek gcov_flush_svr(const char * label, char * buff, size_t buff_sz)
7bad58c9cSBen Gras {
8bad58c9cSBen Gras message m;
9bad58c9cSBen Gras
10bad58c9cSBen Gras memset(&m, 0, sizeof(m));
11*3ac58492SDavid van Moolenbroek m.m_lc_vfs_gcov.label = (vir_bytes)label;
12*3ac58492SDavid van Moolenbroek m.m_lc_vfs_gcov.labellen = strlen(label) + 1;
13*3ac58492SDavid van Moolenbroek m.m_lc_vfs_gcov.buf = (vir_bytes)buff;
14*3ac58492SDavid van Moolenbroek m.m_lc_vfs_gcov.buflen = buff_sz;
15bad58c9cSBen Gras
16*3ac58492SDavid van Moolenbroek /*
17*3ac58492SDavid van Moolenbroek * Make the call to VFS. VFS will call the gcov library, buffer the
18*3ac58492SDavid van Moolenbroek * stdio requests, and copy the buffer to us.
19bad58c9cSBen Gras */
20bad58c9cSBen Gras return _syscall(VFS_PROC_NR, VFS_GCOV_FLUSH, &m);
21bad58c9cSBen Gras }
22