Scippy

    SCIP

    Solving Constraint Integer Programs

    pub_fileio.h
    Go to the documentation of this file.
    1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
    2/* */
    3/* This file is part of the program and library */
    4/* SCIP --- Solving Constraint Integer Programs */
    5/* */
    6/* Copyright (c) 2002-2025 Zuse Institute Berlin (ZIB) */
    7/* */
    8/* Licensed under the Apache License, Version 2.0 (the "License"); */
    9/* you may not use this file except in compliance with the License. */
    10/* You may obtain a copy of the License at */
    11/* */
    12/* http://www.apache.org/licenses/LICENSE-2.0 */
    13/* */
    14/* Unless required by applicable law or agreed to in writing, software */
    15/* distributed under the License is distributed on an "AS IS" BASIS, */
    16/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
    17/* See the License for the specific language governing permissions and */
    18/* limitations under the License. */
    19/* */
    20/* You should have received a copy of the Apache-2.0 license */
    21/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
    22/* */
    23/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
    24
    25/**@file pub_fileio.h
    26 * @ingroup PUBLICCOREAPI
    27 * @brief wrapper functions to map file i/o to standard or zlib file i/o
    28 * @author Tobias Achterberg
    29 */
    30
    31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
    32
    33#ifndef __SCIP_PUB_FILEIO_H__
    34#define __SCIP_PUB_FILEIO_H__
    35
    36#include <stddef.h>
    37#include "scip/def.h"
    38
    39#ifdef __cplusplus
    40extern "C" {
    41#endif
    42
    43typedef struct SCIP_File SCIP_FILE; /**< file data structure */
    44
    45SCIP_EXPORT SCIP_FILE* SCIPfopen(const char *path, const char *mode);
    46SCIP_EXPORT SCIP_FILE* SCIPfdopen(int fildes, const char *mode);
    47SCIP_EXPORT size_t SCIPfread(void *ptr, size_t size, size_t nmemb, SCIP_FILE *stream);
    48SCIP_EXPORT size_t SCIPfwrite(const void *ptr, size_t size, size_t nmemb, SCIP_FILE *stream);
    49#ifdef __GNUC__
    50__attribute__((format(printf, 2, 3)))
    51#endif
    52SCIP_EXPORT int SCIPfprintf(SCIP_FILE *stream, const char *format, ...);
    53SCIP_EXPORT int SCIPfputc(int c, SCIP_FILE *stream);
    54SCIP_EXPORT int SCIPfputs(const char *s, SCIP_FILE *stream);
    55SCIP_EXPORT int SCIPfgetc(SCIP_FILE *stream);
    56SCIP_EXPORT char* SCIPfgets(char *s, int size, SCIP_FILE *stream);
    57SCIP_EXPORT int SCIPfflush(SCIP_FILE *stream);
    58SCIP_EXPORT int SCIPfseek(SCIP_FILE *stream, long offset, int whence);
    59SCIP_EXPORT void SCIPrewind(SCIP_FILE *stream);
    60SCIP_EXPORT long SCIPftell(SCIP_FILE *stream);
    61SCIP_EXPORT int SCIPfeof(SCIP_FILE *stream);
    62SCIP_EXPORT int SCIPfclose(SCIP_FILE *fp);
    63
    64#ifdef __cplusplus
    65}
    66#endif
    67
    68#endif
    common defines and data types used in all packages of SCIP
    SCIP_FILE * SCIPfopen(const char *path, const char *mode)
    Definition: fileio.c:153
    size_t SCIPfwrite(const void *ptr, size_t size, size_t nmemb, SCIP_FILE *stream)
    Definition: fileio.c:168
    int SCIPfgetc(SCIP_FILE *stream)
    Definition: fileio.c:195
    int SCIPfprintf(SCIP_FILE *stream, const char *format,...)
    Definition: fileio.c:173
    struct SCIP_File SCIP_FILE
    Definition: pub_fileio.h:43
    int SCIPfseek(SCIP_FILE *stream, long offset, int whence)
    Definition: fileio.c:212
    int SCIPfeof(SCIP_FILE *stream)
    Definition: fileio.c:227
    void SCIPrewind(SCIP_FILE *stream)
    Definition: fileio.c:217
    size_t SCIPfread(void *ptr, size_t size, size_t nmemb, SCIP_FILE *stream)
    Definition: fileio.c:163
    long SCIPftell(SCIP_FILE *stream)
    Definition: fileio.c:222
    int SCIPfputc(int c, SCIP_FILE *stream)
    Definition: fileio.c:185
    int SCIPfclose(SCIP_FILE *fp)
    Definition: fileio.c:232
    char * SCIPfgets(char *s, int size, SCIP_FILE *stream)
    Definition: fileio.c:200
    int SCIPfputs(const char *s, SCIP_FILE *stream)
    Definition: fileio.c:190
    SCIP_FILE * SCIPfdopen(int fildes, const char *mode)
    Definition: fileio.c:158
    int SCIPfflush(SCIP_FILE *stream)
    Definition: fileio.c:207