Changeset 5958:1414eda6efc3 in roaraudio for libroar/vio_bio.c
- Timestamp:
- 01/03/14 06:37:50 (10 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroar/vio_bio.c
r5823 r5958 36 36 #include "libroar.h" 37 37 38 #ifdef ROAR_HAVE_LIBSSL39 int roar_vio_open_bio (struct roar_vio_calls * calls, BIO * bio) {40 if ( calls == NULL || bio == NULL )41 return -1;42 43 memset(calls, 0, sizeof(struct roar_vio_calls));44 calls->flags = ROAR_VIO_FLAGS_NONE;45 calls->refc = 1;46 47 calls->read = roar_vio_bio_read;48 calls->write = roar_vio_bio_write;49 calls->lseek = roar_vio_bio_lseek;50 calls->sync = roar_vio_bio_sync;51 calls->close = roar_vio_bio_close;52 53 calls->inst = (void*) bio;54 55 return 0;56 }57 58 BIO * roar_vio_to_bio (struct roar_vio_calls * calls) {59 roar_err_set(ROAR_ERROR_NOSYS);60 return NULL;61 }62 63 ssize_t roar_vio_bio_read (struct roar_vio_calls * vio, void *buf, size_t count) {64 BIO * bio = (BIO*)(vio->inst);65 int r;66 67 if ( (r = BIO_read(bio, buf, count)) == -2 )68 return -1;69 70 return r;71 }72 ssize_t roar_vio_bio_write (struct roar_vio_calls * vio, void *buf, size_t count) {73 BIO * bio = (BIO*)(vio->inst);74 int r;75 76 if ( (r = BIO_write(bio, buf, count)) == -2 )77 return -1;78 79 return r;80 }81 82 roar_off_t roar_vio_bio_lseek (struct roar_vio_calls * vio, roar_off_t offset, int whence) {83 return -1;84 }85 86 int roar_vio_bio_sync (struct roar_vio_calls * vio) {87 return -1;88 }89 90 int roar_vio_bio_close (struct roar_vio_calls * vio) {91 BIO * bio = (BIO*)(vio->inst);92 93 // TODO: check the return values94 95 BIO_flush(bio);96 BIO_free_all(bio);97 98 return 0;99 }100 #endif101 102 #ifndef ROAR_HAVE_LIBSSL103 38 int roar_vio_open_bio (struct roar_vio_calls * calls, void * bio) { 104 39 (void)calls, (void)bio; … … 108 43 109 44 void * roar_vio_to_bio (struct roar_vio_calls * calls) { 45 (void)calls; 110 46 roar_err_set(ROAR_ERROR_NOSYS); 111 47 return NULL; 112 48 } 113 #endif114 49 115 50 //ll
Note: See TracChangeset
for help on using the changeset viewer.