Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
81478e4f
Commit
81478e4f
authored
Oct 05, 2002
by
Jon Lech Johansen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
./src/misc/netutils.c: GetMacAddress Darwin support
./src/libvlc.h: Default to en0 instead of eth0 under Darwin
parent
94b1b1ac
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
105 additions
and
4 deletions
+105
-4
ChangeLog
ChangeLog
+2
-0
src/libvlc.h
src/libvlc.h
+5
-1
src/misc/netutils.c
src/misc/netutils.c
+98
-3
No files found.
ChangeLog
View file @
81478e4f
0.5.0
Not
released
yet
*
./
src
/
misc
/
netutils
.
c
:
GetMacAddress
Darwin
support
*
./
src
/
libvlc
.
h
:
default
to
en0
instead
of
eth0
under
Darwin
*
./
plugins
/
dvdplay
/
access
.
c
:
use
dvdplay
after
it
has
completed
initialization
.
*
./
configure
.
in
:
better
detection
of
IPv6
,
fixed
solaris
handling
.
...
...
src/libvlc.h
View file @
81478e4f
...
...
@@ -2,7 +2,7 @@
* libvlc.h: main libvlc header
*****************************************************************************
* Copyright (C) 1998-2002 VideoLAN
* $Id: libvlc.h,v 1.1
7 2002/10/03 18:56:09 sam
Exp $
* $Id: libvlc.h,v 1.1
8 2002/10/05 19:26:23 jlj
Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
...
...
@@ -398,7 +398,11 @@ vlc_module_begin();
add_integer
(
"channel-port"
,
6010
,
NULL
,
CHAN_PORT_TEXT
,
CHAN_PORT_LONGTEXT
);
add_integer
(
"mtu"
,
1500
,
NULL
,
MTU_TEXT
,
MTU_LONGTEXT
);
#ifdef SYS_DARWIN
add_string
(
"iface"
,
"en0"
,
NULL
,
IFACE_TEXT
,
IFACE_LONGTEXT
);
#else
add_string
(
"iface"
,
"eth0"
,
NULL
,
IFACE_TEXT
,
IFACE_LONGTEXT
);
#endif
add_string
(
"iface-addr"
,
""
,
NULL
,
IFACE_ADDR_TEXT
,
IFACE_ADDR_LONGTEXT
);
add_integer
(
"program"
,
0
,
NULL
,
...
...
src/misc/netutils.c
View file @
81478e4f
...
...
@@ -2,7 +2,7 @@
* netutils.c: various network functions
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: netutils.c,v 1.7
3 2002/07/31 20:56:53 sam
Exp $
* $Id: netutils.c,v 1.7
4 2002/10/05 19:26:23 jlj
Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Benoit Steiner <benny@via.ecp.fr>
...
...
@@ -10,6 +10,7 @@
* Xavier Marchesini <xav@alarue.net>
* Christophe Massiot <massiot@via.ecp.fr>
* Samuel Hocevar <sam@via.ecp.fr>
* Jon Lech Johansen <jon-vl@nanocrew.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
...
...
@@ -60,6 +61,12 @@
#include <sys/ioctl.h>
/* ioctl() */
#endif
#ifdef SYS_DARWIN
#include <IOKit/IOKitLib.h>
#include <IOKit/network/IOEthernetInterface.h>
#include <IOKit/network/IOEthernetController.h>
#endif
#if defined( WIN32 )
/* tools to get the MAC adress from */
#include <windows.h>
/* the interface under Windows */
#include <stdio.h>
...
...
@@ -97,7 +104,10 @@ struct input_channel_t
* Local prototypes
*****************************************************************************/
static
int
GetMacAddress
(
vlc_object_t
*
,
int
i_fd
,
char
*
psz_mac
);
#ifdef WIN32
#ifdef SYS_DARWIN
static
int
GetNetIntfCtrl
(
const
char
*
psz_interface
,
io_object_t
*
ctrl_service
);
#elif defined( WIN32 )
static
int
GetAdapterInfo
(
int
i_adapter
,
char
*
psz_string
);
#endif
...
...
@@ -329,6 +339,47 @@ static int GetMacAddress( vlc_object_t *p_this, int i_fd, char *psz_mac )
return
(
0
);
#elif defined( SYS_DARWIN )
char
*
psz_interface
;
io_object_t
ctrl_service
;
CFTypeRef
cfd_mac_address
;
UInt8
ui_mac_address
[
kIOEthernetAddressSize
];
if
(
!
(
psz_interface
=
config_GetPsz
(
p_this
,
"iface"
))
)
{
msg_Err
(
p_this
,
"configuration variable iface empty"
);
return
(
-
1
);
}
if
(
GetNetIntfCtrl
(
psz_interface
,
&
ctrl_service
)
)
{
msg_Err
(
p_this
,
"GetNetIntfCtrl failed"
);
return
(
-
1
);
}
cfd_mac_address
=
IORegistryEntryCreateCFProperty
(
ctrl_service
,
CFSTR
(
kIOMACAddress
),
kCFAllocatorDefault
,
0
);
IOObjectRelease
(
ctrl_service
);
if
(
cfd_mac_address
==
NULL
)
{
msg_Err
(
p_this
,
"IORegistryEntryCreateCFProperty failed"
);
return
(
-
1
);
}
CFDataGetBytes
(
cfd_mac_address
,
CFRangeMake
(
0
,
kIOEthernetAddressSize
),
ui_mac_address
);
CFRelease
(
cfd_mac_address
);
sprintf
(
psz_mac
,
"%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x"
,
ui_mac_address
[
0
],
ui_mac_address
[
1
],
ui_mac_address
[
2
],
ui_mac_address
[
3
],
ui_mac_address
[
4
],
ui_mac_address
[
5
]
);
return
(
0
);
#elif defined( WIN32 )
int
i
,
i_ret
=
-
1
;
...
...
@@ -362,7 +413,51 @@ static int GetMacAddress( vlc_object_t *p_this, int i_fd, char *psz_mac )
#endif
}
#ifdef WIN32
#ifdef SYS_DARWIN
/*****************************************************************************
* GetNetIntfCtrl : get parent controller for network interface
*****************************************************************************/
static
int
GetNetIntfCtrl
(
const
char
*
psz_interface
,
io_object_t
*
ctrl_service
)
{
mach_port_t
port
;
kern_return_t
ret
;
io_object_t
intf_service
;
io_iterator_t
intf_iterator
;
/* get port for IOKit communication */
if
(
(
ret
=
IOMasterPort
(
MACH_PORT_NULL
,
&
port
)
)
!=
KERN_SUCCESS
)
{
return
(
-
1
);
}
/* look up the IOService object for the interface */
ret
=
IOServiceGetMatchingServices
(
port
,
IOBSDNameMatching
(
port
,
0
,
psz_interface
),
&
intf_iterator
);
if
(
ret
!=
KERN_SUCCESS
)
{
return
(
-
1
);
}
intf_service
=
IOIteratorNext
(
intf_iterator
);
if
(
intf_service
==
NULL
)
{
return
(
-
1
);
}
ret
=
IORegistryEntryGetParentEntry
(
intf_service
,
kIOServicePlane
,
ctrl_service
);
IOObjectRelease
(
intf_service
);
if
(
ret
!=
KERN_SUCCESS
)
{
return
(
-
1
);
}
return
(
0
);
}
#elif defined( WIN32 )
/*****************************************************************************
* GetAdapterInfo : gets some informations about the interface using NETBIOS
*****************************************************************************/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment