xref: /haiku/src/add-ons/accelerants/matrox/engine/mga_support.c (revision 16d5c24e533eb14b7b8a99ee9f3ec9ba66335b1e)
1 /* Some commmon support functions */
2 /* Mark Watson 2/2000
3  * Rudolf Cornelissen 11/2005 */
4 
5 #define MODULE_BIT 0x00000800
6 
7 #include <stdarg.h>
8 #include "mga_std.h"
9 
10 /* delays in multiple of microseconds */
11 void delay(bigtime_t i)
12 {
13 	bigtime_t start=system_time();
14 	while(system_time()-start<i);
15 }
16 
17 /* debug logging */
18 void mga_log(char *fmt, ...)
19 {
20 	char     buffer[1024];
21 	char     fname[64];
22 	FILE    *myhand;
23 	va_list  args;
24 
25 	/* determine the logfile name:
26 	 * we need split-up logging per card and instance of the accelerant */
27 	sprintf (fname, "/boot/home/" DRIVER_PREFIX "." DEVICE_FORMAT ".%d.log",
28 		si->vendor_id, si->device_id, si->bus, si->device, si->function,
29 		accelerantIsClone);
30 	myhand=fopen(fname,"a+");
31 
32 	if (myhand == NULL) return;
33 
34 	va_start(args,fmt);
35 	vsprintf (buffer, fmt, args);
36 	fprintf(myhand, "%s", buffer);
37 	fclose(myhand);
38 }
39