Changeset 1322:3bdf57f6d5cb in roaraudio
- Timestamp:
- 03/21/09 17:05:17 (15 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
include/libroar/libroar.h
r1321 r1322 60 60 #endif 61 61 62 #ifdef ROAR_HAVE_LIBSSL 63 #include <openssl/bio.h> 64 #include <openssl/evp.h> 65 #endif 66 62 67 #include "error.h" 63 68 #include "stack.h" -
include/libroar/vio_bio.h
r1321 r1322 38 38 #include "libroar.h" 39 39 40 #ifndef ROAR_HAVE_LIBSSL 41 typedef void BIO; 42 #endif 43 44 int roar_vio_open_bio (struct roar_vio_calls * calls, BIO * bio); 45 BIO * roar_vio_to_bio (struct roar_vio_calls * calls); 46 47 #ifdef ROAR_HAVE_LIBSSL 48 ssize_t roar_vio_bio_read (struct roar_vio_calls * vio, void *buf, size_t count); 49 ssize_t roar_vio_bio_write (struct roar_vio_calls * vio, void *buf, size_t count); 50 off_t roar_vio_bio_lseek (struct roar_vio_calls * vio, off_t offset, int whence); 51 int roar_vio_bio_nonblock(struct roar_vio_calls * vio, int state); 52 int roar_vio_bio_sync (struct roar_vio_calls * vio); 53 int roar_vio_bio_close (struct roar_vio_calls * vio); 54 #endif 40 55 41 56 #endif -
libroar/Makefile
r1321 r1322 8 8 INCLUDE = -I../include -I../include/libroar 9 9 CFLAGS += -g -Wall -O2 $(DEFINES) $(INCLUDE) $(INCPATH) $(SHARED_CF) -fPIC 10 LDFLAGS = -g $(SHARED) $(LDPATH) $(lib_dnet) $(lib_wsock32) $(lib_ws2_32) 10 LDFLAGS = -g $(SHARED) $(LDPATH) $(lib_dnet) $(lib_wsock32) $(lib_ws2_32) $(lib_ssl) 11 11 12 12 all: ${TARGETS} -
libroar/vio_bio.c
r1321 r1322 35 35 #include "libroar.h" 36 36 37 int roar_vio_open_bio (struct roar_vio_calls * calls, BIO * bio) { 38 #ifdef ROAR_HAVE_LIBSSL 39 if ( calls == NULL || bio == NULL ) 40 return -1; 41 42 memset(calls, 0, sizeof(struct roar_vio_calls)); 43 44 calls->read = roar_vio_bio_read; 45 calls->write = roar_vio_bio_write; 46 calls->lseek = roar_vio_bio_lseek; 47 calls->nonblock = roar_vio_bio_nonblock; 48 calls->sync = roar_vio_bio_sync; 49 calls->close = roar_vio_bio_close; 50 51 calls->inst = (void*) bio; 52 53 return 0; 54 #else 55 return -1; 56 #endif 57 } 58 59 BIO * roar_vio_to_bio (struct roar_vio_calls * calls) { 60 return NULL; 61 } 62 63 #ifdef ROAR_HAVE_LIBSSL 64 ssize_t roar_vio_bio_read (struct roar_vio_calls * vio, void *buf, size_t count) { 65 BIO * bio = (BIO*)(vio->inst); 66 int r; 67 68 if ( (r = BIO_read(bio, buf, count)) == -2 ) 69 return -1; 70 71 return r; 72 } 73 ssize_t roar_vio_bio_write (struct roar_vio_calls * vio, void *buf, size_t count) { 74 BIO * bio = (BIO*)(vio->inst); 75 int r; 76 77 if ( (r = BIO_write(bio, buf, count)) == -2 ) 78 return -1; 79 80 return r; 81 } 82 83 off_t roar_vio_bio_lseek (struct roar_vio_calls * vio, off_t offset, int whence) { 84 return -1; 85 } 86 87 int roar_vio_bio_nonblock(struct roar_vio_calls * vio, int state) { 88 return -1; 89 } 90 int roar_vio_bio_sync (struct roar_vio_calls * vio) { 91 return -1; 92 } 93 94 int roar_vio_bio_close (struct roar_vio_calls * vio) { 95 BIO * bio = (BIO*)(vio->inst); 96 97 // TODO: check the return values 98 99 BIO_flush(bio); 100 BIO_free_all(bio); 101 102 return 0; 103 } 104 #endif 105 37 106 //ll
Note: See TracChangeset
for help on using the changeset viewer.