Path: blob/main/crypto/krb5/src/include/k5-ipc_stream.h
34879 views
/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */1/* include/k5-ipc_stream.h */2/*3* Copyright 2006 Massachusetts Institute of Technology.4* All Rights Reserved.5*6* Export of this software from the United States of America may7* require a specific license from the United States Government.8* It is the responsibility of any person or organization contemplating9* export to obtain such a license before exporting.10*11* WITHIN THAT CONSTRAINT, permission to use, copy, modify, and12* distribute this software and its documentation for any purpose and13* without fee is hereby granted, provided that the above copyright14* notice appear in all copies and that both that copyright notice and15* this permission notice appear in supporting documentation, and that16* the name of M.I.T. not be used in advertising or publicity pertaining17* to distribution of the software without specific, written prior18* permission. Furthermore if you modify this software you must label19* your software as modified software and not distribute it in such a20* fashion that it might be confused with the original M.I.T. software.21* M.I.T. makes no representations about the suitability of22* this software for any purpose. It is provided "as is" without express23* or implied warranty.24*/2526#ifndef K5_IPC_STREAM_H27#define K5_IPC_STREAM_H2829#include "k5-platform.h"3031struct k5_ipc_stream_s;32typedef struct k5_ipc_stream_s *k5_ipc_stream;333435int32_t krb5int_ipc_stream_new (k5_ipc_stream *out_stream);3637uint32_t krb5int_ipc_stream_release (k5_ipc_stream io_stream);3839uint64_t krb5int_ipc_stream_size (k5_ipc_stream in_stream);4041const char *krb5int_ipc_stream_data (k5_ipc_stream in_stream);4243uint32_t krb5int_ipc_stream_read (k5_ipc_stream in_stream,44void *io_data,45uint64_t in_size);46uint32_t krb5int_ipc_stream_write (k5_ipc_stream in_stream,47const void *in_data,48uint64_t in_size);4950uint32_t krb5int_ipc_stream_read_string (k5_ipc_stream io_stream,51char **out_string);52uint32_t krb5int_ipc_stream_write_string (k5_ipc_stream io_stream,53const char *in_string);54void krb5int_ipc_stream_free_string (char *in_string);5556uint32_t krb5int_ipc_stream_read_int32 (k5_ipc_stream io_stream,57int32_t *out_int32);58uint32_t krb5int_ipc_stream_write_int32 (k5_ipc_stream io_stream,59int32_t in_int32);6061uint32_t krb5int_ipc_stream_read_uint32 (k5_ipc_stream io_stream,62uint32_t *out_uint32);63uint32_t krb5int_ipc_stream_write_uint32 (k5_ipc_stream io_stream,64uint32_t in_uint32);6566uint32_t krb5int_ipc_stream_read_int64 (k5_ipc_stream io_stream,67int64_t *out_int64);68uint32_t krb5int_ipc_stream_write_int64 (k5_ipc_stream io_stream,69int64_t in_int64);7071uint32_t krb5int_ipc_stream_read_uint64 (k5_ipc_stream io_stream,72uint64_t *out_uint64);73uint32_t krb5int_ipc_stream_write_uint64 (k5_ipc_stream io_stream,74uint64_t in_uint64);7576#endif /* K5_IPC_STREAM_H */777879