X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=visor;a=blobdiff_plain;f=libvisor%2Finclude%2Fvisor.h;h=58b6ac4c121b274b65bb1b8874f362c655f0b3e1;hp=a9b3ec78f9e3035249d0f892534a3848a3bd057d;hb=7357e1f153279a9d84d8671f02fa146575d4935e;hpb=a4536cf08230dba14f221b661abd7804fcc1ebbc diff --git a/libvisor/include/visor.h b/libvisor/include/visor.h index a9b3ec7..58b6ac4 100644 --- a/libvisor/include/visor.h +++ b/libvisor/include/visor.h @@ -77,8 +77,8 @@ enum { VI_SEEK_SET, VI_SEEK_CUR, VI_SEEK_END }; struct vi_fileops { vi_file *(*open)(const char *path, unsigned int flags); - long (*size)(vi_file *file); void (*close)(vi_file *file); + long (*size)(vi_file *file); void *(*map)(vi_file *file); void (*unmap)(vi_file *file); long (*read)(vi_file *file, void *buf, long count); @@ -142,8 +142,11 @@ int vi_buf_read(struct vi_buffer *vb, const char *path); int vi_buf_write(struct vi_buffer *vb, const char *path); long vi_buf_size(struct vi_buffer *vb); -/* find the span which corresponds to the specified text position */ -struct vi_span *vi_buf_find_span(struct vi_buffer *vb, vi_addr at); +/* find the span which corresponds to the specified text position + * if soffs is not null, the relative offset of the specified address from the + * start of the span is stored there. + */ +struct vi_span *vi_buf_find_span(struct vi_buffer *vb, vi_addr at, vi_addr *soffs); const char *vi_buf_span_text(struct vi_buffer *vb, struct vi_span *span); void vi_buf_ins_begin(struct vi_buffer *vb, vi_motion mot);