TMWriteAddFile Overview Group

The TMWriteAddFile API adds to an opened 'add' file specified by the file handle 'file_handle'. The ‘file_handle’ can be acquired with TMCreateFile for a new file or TMOpenFile for an existing ‘add’ file. An ‘add’ file is a file with extension 100 (decimal) that resides on an EPROM 1-Wire device. The ‘add’ file is special because the contents of the file can be added to without deleting and then rewriting it. The TMWriteAddFile API call has two modes of operation. It can append data to the end of the 'add' file or it can add data at an offset from the beginning of the file. The 'operation' flag is:

1 : Append to the file starting after the last programmed byte (not FF Hex) in the last page of the file.

0 : Write the data starting at the specified 'offset'. If there is data already there then the result will be to program any zeroes in the data. For instance:

00110101 current byte in device

01010111 data byte to program

-------------

00010101 result

Note that with this feature, individual bits can be programmed.

If the operation is 1 'append' then the 'offset' entry is not used. The data is provided in the 'write_buffer' and the length of the data to write is 'num_write' bytes.


short far pascal TMWriteAddFile(

long session_handle,              // session handle for the desired 1-Wire network
void far *state_buffer,           // state buffer provided for the 1-Wire network session
short file_handle,                // file handle
short operation,                  // append(1) or from offset(0) operation mode
short offset,                     // offset from beginning of file if in offset mode
unsigned char far *write_buffer,  // buffer containing the file data to write
short num_write                   // number of bytes to write
);

For a description of the above types, see the TMEX Type Descriptions.


Parameters

session_handle

Specifies the session handle returned from the API function TMExtendedStartSession that specifies the desired 1-Wire network port. This parameter is required by most TMEX API functions.

state_buffer

Specifies a pointer to a memory location that TMEX keeps all of the state information for the 1-Wire networks. This parameter is required by most TMEX API functions.

file_handle

Specifies a file handle of the file to write.

operation

Specifies the operation mode of appending to the end of the file (1) or writing at an offset (0).

offset

Specifies the offset number of bytes from the beginning of the file if operation is 0 for offset mode.

write_buffer

Specifies a pointer to a buffer that contains the data to write to the file. It must be at least ‘num_write’ bytes long.

num_write

Specifies the number of bytes to write from the ‘write_buffer’.

Return Value

>= 0 => file written, and this is the number of bytes
<0 => TMEX File Operations Error Return Code

Code Example

See Also

TMTerminateAddFile