HANDLE create_captfile(LPCTSTR lpFName) { HANDLE hTemp; DWORD dwWritten; int t; CAPTFILEHEADERStruct header; if (TTY.devicetype>1) { report_error("Can only create ModuarEEG P2 or P3 Archive Files."); return(INVALID_HANDLE_VALUE); } for(t=0;t<sizeof(header);t++) * (((char *)&header)+t) = ' '; append_newline(header.description,sizeof(header.description)); write_logfile("create capture file: %s",(char *)lpFName); hTemp=CreateFile(lpFName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0,NULL); if (hTemp==INVALID_HANDLE_VALUE) { report_error("CreateFile"); return (INVALID_HANDLE_VALUE); } strcpy(header.description, "BrainBay Archive File\r\n"); strcpy(header.filetype, captfiletypes[CAPTFILE.filetype]); append_newline(header.filetype,sizeof(header.filetype)); strcpy(header.devicetype, devicetypes[TTY.devicetype]); append_newline(header.devicetype,sizeof(header.devicetype)); if (!WriteFile(hTemp,&header,sizeof(header), &dwWritten, NULL)) report_error("Could not write to Archive"); CAPTFILE.start=TIMING.packetcounter; CAPTFILE.file_action=FILE_WRITING; GLOBAL.actcolumn=0; return hTemp; }
void write(const char* message, ...) { thread::SpinLock::LockGuard guard(lock_); if(logger_) { char buf[LOGGER_MSG_SIZE]; va_list args; va_start(args, message); (void) vsnprintf(buf, LOGGER_MSG_SIZE, message, args); va_end(args); logger_->write(buf, append_newline(buf)); } }