Ruby: include/ruby/internal/encoding/pathname.h Source File

Ruby 3.4.3p32 (2025-04-14 revision d0b7e5b6a04bde21ca483d20a1546b28b401c2d4)

pathname.h
Go to the documentation of this file.
1#ifndef RUBY_INTERNAL_ENCODING_PATHNAME_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RUBY_INTERNAL_ENCODING_PATHNAME_H
23
24#include "ruby/internal/attr/nonnull.h"
25#include "ruby/internal/dllexport.h"
26#include "ruby/internal/encoding/encoding.h"
27#include "ruby/internal/value.h"
28
29 RBIMPL_SYMBOL_EXPORT_BEGIN()
30 RBIMPL_ATTR_NONNULL(())
48char *rb_enc_path_next(const char *path, const char *end, rb_encoding *enc);
49
50 RBIMPL_ATTR_NONNULL(())
70char *rb_enc_path_skip_prefix(const char *path, const char *end, rb_encoding *enc);
71
72 RBIMPL_ATTR_NONNULL(())
90char *rb_enc_path_last_separator(const char *path, const char *end, rb_encoding *enc);
91
92 RBIMPL_ATTR_NONNULL(())
117char *rb_enc_path_end(const char *path, const char *end, rb_encoding *enc);
118
119 RBIMPL_ATTR_NONNULL((1, 4))
138const char *ruby_enc_find_basename(const char *name, long *baselen, long *alllen, rb_encoding *enc);
139
140 RBIMPL_ATTR_NONNULL((1, 3))
180const char *ruby_enc_find_extname(const char *name, long *len, rb_encoding *enc);
181
182 RBIMPL_SYMBOL_EXPORT_END()
183
184#endif /* RUBY_INTERNAL_ENCODING_PATHNAME_H */
dllexport.h
Tweaking visibility of C variables/functions.
RBIMPL_SYMBOL_EXPORT_END
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition dllexport.h:74
RBIMPL_SYMBOL_EXPORT_BEGIN
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition dllexport.h:65
encoding.h
Defines rb_encoding.
len
int len
Length of the buffer.
Definition io.h:8
nonnull.h
Defines RBIMPL_ATTR_NONNULL.
RBIMPL_ATTR_NONNULL
#define RBIMPL_ATTR_NONNULL(list)
Wraps (or simulates) __attribute__((nonnull))
Definition nonnull.h:30
value.h
Defines VALUE and ID.